2011-07-07 3 views
5

Dans Windows Explorer, il s'agit d'un onglet récapitulatif qui contient, titre, sujet, auteur, catégorie, mots-clés et commentaires pour chaque fichier. Est-il possible de lire et d'éditer ces données en utilisant php?Accéder aux propriétés du fichier via PHP

+1

'de chaque type de fichier est stocké metadata' différemment. De quel type de fichiers recherchez-vous cette information? – Grambot

+0

plusieurs types de fichiers, y compris certains formats propriétaires non standard. Ma question concerne spécifiquement les propriétés du titre, du sujet, de l'auteur, de la catégorie, des mots-clés et des commentaires auxquels je peux accéder dans Windows XP via l'onglet Résumé du menu des propriétés. – James

+0

Dans ce cas, [this] (http://stackoverflow.com/questions/6080319/where-does-windows-explorer-store-file-meta-data) peut être un bon point de départ pour vous. – Grambot

Répondre

2

Vous ne pouvez pas obtenir des métadonnées significatives avec PHP dans Windows pour de nombreuses applications. La seule exception réelle pour cela serait d'utiliser le modèle d'objet de PHP.

Référence

http://www.php.net/manual/en/intro.com.php

Voici un exemple pour Word/Excel:

// for MSExcel use: 
$objOfficeApp = new COM("excel.application") or die("unable to instantiate MSExcel"); 
// for MSWord use: 
//$objOfficeApp = new COM("word.application") or die("unable to instantiate MSWord"); 

$objOfficeApp->Workbooks->Open("c:\\temp\\test.xls"); 
//$objOfficeApp->Documents->Open("c:\\temp\\test.doc"); 

$objDocProps = $objOfficeApp->ActiveWorkBook->BuiltInDocumentProperties(); 
//$objDocProps = $objOfficeApp->ActiveDocument->BuiltInDocumentProperties(); 

$count = $objDocProps->count(); 

while($objDocProp = $objDocProps->Next()) { 
    print $objDocProp->Name() . ': ' . $objDocProp->Value() . "\n"; 
} 

unset($objDocProp); 
unset($objDocProps); 

$objOfficeApp->ActiveWorkBook->Close(); 
//$objOfficeApp->ActiveDocument->Close(); 
$objOfficeApp->Quit(); 
unset($objOfficeApp); 
+0

Merci. Cela semble fonctionner. – James

Questions connexes