【问题标题】:mobi file corrupted after php downloadphp下载后mobi文件损坏
【发布时间】:2016-05-30 14:52:27
【问题描述】:

我的服务器上有一些电子书,我希望人们能够下载。我上传了它们,当我通过我的 ftp 工具下载它们时,一切都很完美。当我使用我的脚本让用户下载它时,我在 calibre 中收到以下错误:

MobiError: Unknown book type: '\x00\x00\x00BOOKM'

我处理文件输出的脚本如下:

$file_url = ABSPATH . $file['file'];

$basename = $story->post_title . $subtitle . '.' . $_POST['type'];
$filename = basename(mb_ereg_replace("([^\w\s\d\-_~,;\[\]\(\).])", '', $basename));

header('Content-Type: application/octet-stream');
header("Content-Transfer-Encoding: Binary"); 
header("Content-Disposition: attachment; filename=\"" . $filename . "\""); 
readfile($file_url);
die();

然后我得到的所有移动阅读器都说,文件有问题。我不知道出了什么问题。此外,当我在文本编辑器中打开文件时,它们都是不同的类型。我的 php 脚本中的一个如下所示:

在我的 ftp 工具中运行的工具如下所示:

谁能帮我找出我做错了什么?顺便说一下,.epub 文件对我的脚本没有问题。

【问题讨论】:

    标签: php download ftp


    【解决方案1】:

    我通过如下输出文件解决了这个问题:

    ob_clean();
    flush();
    readfile($path);
    exit;
    

    【讨论】:

      猜你喜欢
      • 2015-07-16
      • 2015-10-12
      • 1970-01-01
      • 2014-06-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-08
      • 2012-02-23
      相关资源
      最近更新 更多