【发布时间】: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 文件对我的脚本没有问题。
【问题讨论】: