2011-11-10 4 views
1

現在、ファイルをアップロードしてから処理してから、プリンタに送信する必要のあるperlスクリプトを使用しています。docx pptx xlsxと他のmsofficeファイルをapplicaton/zipではなく正しく指定する

http://code.google.com/p/web-printer-http/

どうやら、で終わるの両方ジップとMicrosoft Officeのファイルは、 "... xは" は/ usr/binに/ファイルを使用する場合は、アプリケーション/ジップとして自分自身を識別します。

どのような違いがありますか?

アップロードシステムが拡張機能(携帯電話など)を使用することができない場合があるため、拡張機能に基づいてはいけません。 むしろ、ファイルコンテンツに基づいてコンテンツを完全に判断する必要があります。

+0

[ファイル/ libmagic](http://darwinsys.com/file/)**では、OASIS OpenDocument/"Libre Office"ファイルを汎用Zipファイルと区別することができます。誰かがMicrosoft OOXMLファイルの適切な署名をメーリングリストに提出するだけで済みます。 – daxim

答えて

3

zipファイルと(.docx、xslx、.pptxなどの)Office Open XMLファイルを区別する方法はありません。

さまざまなオープンXML形式はすべて、.ZIP圧縮を使用します。したがって、のzipファイルです。

zipファイルがOpen Packaging Conventionに準拠する場合は、Open XML(Office)ドキュメントでもあります。

zipファイルに/[Content_Types].xmlというファイルが含まれている場合、ヒューリスティックは良好です。それはOPCファ​​イルです。 zipファイルにその名前のファイルが含まれているかどうかを確認するには、zipfileディレクトリを読み取る必要があります。それを行うには、zipライブラリを使用します。

関連する問題