MS パワーポイント ファイルをサーバーにアップロードしました。Google ドキュメント ビューアー (http://docs.google.com/viewer) を使用して Web ページに表示しようとしています。ファイルはhttp://elgg.wamped.org/test.ppt から入手できます 。
上記の URL でドキュメント ビューアを起動すると、期待どおりに動作します。次を参照してください: http://docs.google.com/viewer?url=http%3A%2F%2Felgg.wamped.org%2Ftest.ppt
しかし、非常に単純な php スクリプトを使用して同じファイルをビューアーに提供しようとすると、あまり役に立たないエラー メッセージが表示されてレンダリングに失敗します。参照: http://docs.google.com/viewer?url=http%3A%2F%2Felgg.wamped.org%2Freadfile.php
ファイルを提供するスクリプトは次のとおりです。
<?php
header('Content-type: application/vnd.ms-powerpoint');
header('Content-Disposition: attachment; filename="test.ppt"');
readfile('test.ppt');
?>
Pragma や Cache-Control などのさまざまなヘッダー フィールドをいじってみましたが、何も役に立ちませんでした。また、出力ファイルをスライスしてチャンクでエコーしようとしましたが、これもうまくいきませんでした。サーバーのApacheログを確認し、応答ヘッダーを確認しましたが、すべて問題ないようです。
ここで何が間違っているのですか?
編集:この問題の解決策はまだ見つかっていませんが、Google Docs Viewer と同じ (または実際にはそれ以上のことをしているように見える) サイトを偶然見つけました。http://embedit.inは幅広い種類のファイルをサポートし、API を備えており、うまく機能するので、おそらくそれを使用します。ただし、好奇心から、以下のコードの何が問題なのかを知りたいです。したがって、どんな提案も大歓迎です。