Informations sur un fichier : Différence entre versions
(→getMetadata) |
|||
| (13 révisions intermédiaires par le même utilisateur non affichées) | |||
| Ligne 1 : | Ligne 1 : | ||
| − | |||
| − | |||
Pour obtenir des informations sur un fichiers, le format des informations remontées respectent le plus possible les recommandations de [http://freedesktop.org/ freedesktop.org] | Pour obtenir des informations sur un fichiers, le format des informations remontées respectent le plus possible les recommandations de [http://freedesktop.org/ freedesktop.org] | ||
| − | {{Fonctionnalité|path=FileInfos|addon=[[LibFileManagement]]|version=0. | + | {{Fonctionnalité|path=FileInfos|addon=[[LibFileManagement]]|version=0.2.5}} |
== getMimeTypeFromFile == | == getMimeTypeFromFile == | ||
| Ligne 28 : | Ligne 26 : | ||
Obtenir les métadonnés d'un fichier. | Obtenir les métadonnés d'un fichier. | ||
| − | la méthode retourne un | + | la méthode retourne un objet permettant d'obtenir les métadonnés en respectant les recommandations : [http://freedesktop.org/wiki/Specifications/shared-filemetadata-spec]. |
| − | |||
=== types de fichiers supportés === | === types de fichiers supportés === | ||
| − | * | + | * Documents HTML |
| − | * | + | * Documents PDF (avec l'exécutable pdfinfo) |
| − | * | + | * Documents ODT |
| + | * Documents DOCX | ||
| + | * Documents XLSX | ||
* Image jpeg (avec le module de php [http://fr.php.net/exif exif]) | * Image jpeg (avec le module de php [http://fr.php.net/exif exif]) | ||
* Fichier mp3 (avec le module de php [http://fr.php.net/id3 id3]) | * Fichier mp3 (avec le module de php [http://fr.php.net/id3 id3]) | ||
* Vidéo WMV, AVI, MPG, MOV, MP4 (avec le module de php [http://ffmpeg-php.sourceforge.net/ ffmpeg]) | * Vidéo WMV, AVI, MPG, MOV, MP4 (avec le module de php [http://ffmpeg-php.sourceforge.net/ ffmpeg]) | ||
| + | * Archives ZIP | ||
| + | |||
| + | === Objets === | ||
| + | |||
| + | |||
| + | ==== Container des espaces de noms ==== | ||
| + | |||
| + | La méthode <code>getMetadata()</code> retourne un objet <code>lfm_MetaNamespaces</code> qui permet d'obtenir les espaces de noms utilisables pour le fichier passé en paramètre à <code>getMetadata()</code>. | ||
| + | |||
| + | Les méthodes utilisables sur cet objet sont : | ||
| + | |||
| + | * <code>getAllNs()</code> retourne un tableau contenant les espaces de noms | ||
| + | * <code>getFilePath()</code> retourne l'emplacement du fichier | ||
| + | |||
| + | |||
| + | Les propriétés utilisables sur cet objet sont les espaces de noms autorisés sur le fichier, par exemple Doc, Audio, Image, File. | ||
| + | |||
| + | |||
| + | |||
| + | ==== Les espaces de noms ==== | ||
| + | |||
| + | Les objets des espaces de noms héritent de la classe <code>lfm_MetadataCollection</code> et sont spécifiques en fonction du type de fichier et du nom de l'espace de nom. | ||
| + | |||
| + | Les méthodes utilisables sur cet objet sont : | ||
| + | |||
| + | * <code>getNamespaceName()</code> | ||
| + | * <code>getNamespaceDescription()</code> : retourne la description internationalisée de l'espace de nom | ||
| + | * <code>getAllMeta()</code> : retourne la liste des métadonnés disponibles | ||
| + | |||
| + | |||
| + | Les propriétés utilisables sur cet objet sont les métadonnés autorisés de l'espace de nom. | ||
| + | |||
| + | ==== Exceptions ==== | ||
| + | |||
| + | |||
| + | Lorsque une métadonné n'est pas supporté car le type de fichier est incompatible ou que l'outil externe nécessaire n'est pas présent, une exception <code>lfm_MetadataException</code> est levée. | ||
| + | |||
| + | === Exemples === | ||
| + | |||
| + | Obtenir le titre d'un document : | ||
| + | |||
| + | <source lang="php"> | ||
| + | $meta = $fileinfo->getMetadata('fichier'); | ||
| + | try { | ||
| + | echo $meta->Doc->Title; | ||
| + | } catch(lfm_MetadataException $e) { | ||
| + | echo 'non supporté par le système'; | ||
| + | } | ||
| + | </source> | ||
| + | |||
| + | |||
| + | Obtenir toutes les metadonnés d'un fichier : | ||
| + | |||
| + | <source lang="php"> | ||
| + | |||
| + | $m = $fileinfo->getMetadata('fichier'); | ||
| + | |||
| + | foreach($m->getAllNs() as $ns) { | ||
| + | |||
| + | $meta = $m->$ns; | ||
| + | foreach($meta->getAllMeta() as $name) { | ||
| + | |||
| + | echo $meta->getTitle($name); | ||
| + | echo $meta->$name; | ||
| + | } | ||
| + | } | ||
| + | |||
| + | </source> | ||
| + | |||
| + | |||
| + | === Développement === | ||
| + | |||
| + | * http://en.wikipedia.org/wiki/Extensible_Metadata_Platform | ||
| + | * http://www.ozhiker.com/electronics/pjmt/ | ||
== getGenericClassName == | == getGenericClassName == | ||
Version actuelle en date du 22 mai 2009 à 10:45
Pour obtenir des informations sur un fichiers, le format des informations remontées respectent le plus possible les recommandations de freedesktop.org
|
Sommaire
getDescription
Méthode commune à toutes les librairies pour obtenir la description de l'objet partagé.
$instance = bab_functionality::get('FileInfos');
$description = $instance->getDescription();
getMimeTypeFromFile
Cette méthode essai d'évaluer le type mime d'un fichier en utilisant l'extension php fileinfo ou la commande file du système, si aucune de ces deux méthode n'est disponible, le type mime sera évalué a partir de l'extension du fichier.
Si le fichier est en lecture seule la méthode retourne false
getMimeTypeFromExtension
Cette méthode essai d'évaluer le type mime à partir de l'extension. La liste des types mime utilisée est celle du noyau d'Ovidentia
getFileTypeFromMimeType
Cette méthode retourne une description du type de fichier en fonction du type mime.
Les langues supportées sont :
- Anglais
- Français
getMetadata
Obtenir les métadonnés d'un fichier.
la méthode retourne un objet permettant d'obtenir les métadonnés en respectant les recommandations : [1].
types de fichiers supportés
- Documents HTML
- Documents PDF (avec l'exécutable pdfinfo)
- Documents ODT
- Documents DOCX
- Documents XLSX
- Image jpeg (avec le module de php exif)
- Fichier mp3 (avec le module de php id3)
- Vidéo WMV, AVI, MPG, MOV, MP4 (avec le module de php ffmpeg)
- Archives ZIP
Objets
Container des espaces de noms
La méthode getMetadata() retourne un objet lfm_MetaNamespaces qui permet d'obtenir les espaces de noms utilisables pour le fichier passé en paramètre à getMetadata().
Les méthodes utilisables sur cet objet sont :
-
getAllNs()retourne un tableau contenant les espaces de noms -
getFilePath()retourne l'emplacement du fichier
Les propriétés utilisables sur cet objet sont les espaces de noms autorisés sur le fichier, par exemple Doc, Audio, Image, File.
Les espaces de noms
Les objets des espaces de noms héritent de la classe lfm_MetadataCollection et sont spécifiques en fonction du type de fichier et du nom de l'espace de nom.
Les méthodes utilisables sur cet objet sont :
-
getNamespaceName() -
getNamespaceDescription(): retourne la description internationalisée de l'espace de nom -
getAllMeta(): retourne la liste des métadonnés disponibles
Les propriétés utilisables sur cet objet sont les métadonnés autorisés de l'espace de nom.
Exceptions
Lorsque une métadonné n'est pas supporté car le type de fichier est incompatible ou que l'outil externe nécessaire n'est pas présent, une exception lfm_MetadataException est levée.
Exemples
Obtenir le titre d'un document :
<source lang="php"> $meta = $fileinfo->getMetadata('fichier'); try { echo $meta->Doc->Title; } catch(lfm_MetadataException $e) { echo 'non supporté par le système'; } </source>
Obtenir toutes les metadonnés d'un fichier :
<source lang="php">
$m = $fileinfo->getMetadata('fichier');
foreach($m->getAllNs() as $ns) {
$meta = $m->$ns; foreach($meta->getAllMeta() as $name) {
echo $meta->getTitle($name); echo $meta->$name; } }
</source>
Développement
getGenericClassName
Obtenir un nom de classe générique pour un fichier. Un de ces noms sera retourné, il pourra être utilisé pour afficher une icône pour le fichier
- mimetype-audio-x-generic
- mimetype-image-x-generic
- mimetype-package-x-generic
- mimetype-text-x-generic
- mimetype-video-x-generic
- mimetype-x-office-document
- mimetype-x-office-presentation
- mimetype-x-office-spreadsheet
- mimetype-unknown