2011-07-07 25 views
5

Windows gezgininde, her dosya için başlık, konu, yazar, kategori, anahtar sözcük ve yorumları içeren bir özet sekmesi bulunur. Bu verileri php kullanarak okumak ve düzenlemek mümkün mü?Dosya özelliklerine PHP ile bağlan

+1

her fileType en 'metadata' farklı depolanır:

Referans

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

Burada Excel/kelimesi için bir örnektir. Bu bilgiyi hangi dosyalardan çekmek istiyorsunuz? Bazı tescilli standart olmayan formatlar dahil olmak üzere – Grambot

+0

çoklu dosya türleri. Sorumluluk, özellikle özellik menüsünün Özet sekmesi aracılığıyla Windows XP'de erişebildiğim başlık, konu, yazar, kategori, anahtar kelimeler ve yorum özellikleriyle ilgili. – James

+0

Bu durumda [bu] (http://stackoverflow.com/questions/6080319/where-does-windows-explorer-store-file-meta-data) sizin için iyi bir başlangıç ​​noktası olabilir. – Grambot

cevap

2

Birçok uygulama için Windows'da PHP ile anlamlı meta veriler elde edemezsiniz. Bunun tek istisnası, PHP'nin Bileşen Nesne Modeli'ni kullanmaktı.

// 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

Teşekkürler. Bu çalışıyor gibi görünüyor. – James