通过PHP访问文件属性

5
在Windows资源管理器中,有一个摘要选项卡,其中包含每个文件的标题、主题、作者、类别、关键字和注释。是否可能使用PHP读取和编辑此数据?

1
每种文件类型的“元数据”存储方式都不同。您想从哪些文件中提取此信息? - Grambot
涉及多种文件类型,包括一些专有的非标准格式。我的问题特别关注于我可以通过属性菜单的摘要选项卡在Windows XP中访问的标题、主题、作者、类别、关键字和注释属性。 - James
在这种情况下,这个链接可能是你的一个很好的起点。 - Grambot
1个回答

2
在Windows上,对于许多应用程序,您无法使用PHP获取有意义的元数据。唯一真正的例外是使用PHP的Component Object Model(组件对象模型)。
参考

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

这是一个关于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);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接