php下载后mobi文件损坏了

时间:2016-05-30 14:52:28

标签: php download ftp

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

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();

然后我说的所有mobi读者都说文件存在问题。我不知道出了什么问题。此外,当我在文本编辑器中打开文件时,它们都是不同的类型。我的PHP脚本中的那个看起来如下:

enter image description here

从我的ftp工具开始工作的那个看起来像这样:

enter image description here

任何可以帮助我找到我做错的人?顺便说一下.epub文件对我的脚本来说没问题。

1 个答案:

答案 0 :(得分:0)

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

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