2

私の電子ブックリーダー(Sony PRS-T1)の組み込みブラウザーは、どういうわけか.epubファイルをダウンロードするのが好きではありません。

通常、.epubファイルはテキストファイルであるかのように開きます。

このphp-download-scriptを使用して、サーバーに保存しているファイルをブラウザーにダウンロードさせることができました。

<?php

$path = $_GET['path'];
$mimeType = $_GET['mimeType'];

if(!file_exists($path)) {
    // File doesn't exist, output error
    die('file not found');
} else {
    $size = filesize($path);
    $file = basename($path);

    // Set headers
    header("Pragma: public"); // required
    header("Expires: 0");
    header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
    header("Cache-Control: private",false); // required for certain browsers 
    header("Content-Description: File Transfer");
    header("Content-Disposition: attachment; filename=\"$file\"");
    header("Content-Type: $mimeType");
    header("Content-Transfer-Encoding: binary");
    header("Content-Length: $size");
    // Read the file from disk
    readfile($path);
}
exit();
?>

これで、PRS-T1がファイルをダウンロードしますが、何らかの理由でファイル拡張子が.epubから.htmに変更されることを理解していません。これは奇妙なことです。

しかし、それを正しく行う方法があるようです。readbeam.comから.epubファイルをダウンロードすると、期待どおりに機能します(このヒントは、http://www.mobileread.com/forums/showthread.phpで見つかりました)。 ?t = 163466)。

それは何ですか、それは彼らの構成と私の間の違いを作りますか?

これが私がfirebugを使って見つけたものです:

http://tinypic.com/r/vzzkzp/5 readbeam

http://tinypic.com/r/2h7pbth/5 私の

4

1 に答える 1

2

ヘッダーがreadbeamContent-Typeのヘッダーと一致しません。

application/epub zip!=application/epub+zip

$ _GETを介して渡している+ように見えるため、PHPではおそらくスペースと見なされています。

于 2012-04-10T16:59:44.947 に答える