Manuel PHP
Précédent |  | Suivant

# CXXVIII. Fonctions Lecture d'En-tête RPM

# Introduction

Ce module vous permet de lire les méta informations enregistrées dans les en-têtes d'un fichier RedHat Package Manager (RPM).

# Pré-requis

L'extension RPMReader requiert PHP 5.

# Installation

RPMReader n'est pas intégré avec PHP. Il s'agit d'une extension PECL et peut être retrouvé ici : http://pecl.php.net/package/rpmreader.

Pour activer le support de rpmreader, configurez PHP avec --with-rpmreader

# 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.

# 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.

# Exemples

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 Basic de RPMReader

`<?php
$filename = "/chemin/vers/fichier.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);
?>`

Précédent | Sommaire | Suivant
recode | Niveau supérieur | rpm_close