您好,目前我正在开发一种工具,可以转换基于文件的存储文本数组(尽管它的作用并不重要)。它工作得很好,如果我从FTP上下载文件,我可以下载和使用它,但是当我尝试直接将其下载到使用.php文件的人时,它会显示无效文件。我目前的代码是:
header('Content-Type: application/octet-stream');
header("Content-Length: " . filesize($dbname));
header('Content-Disposition: attachment; filename="object database.db"');
readfile($dbname);
问题是什么?是内容类型还是其他错误?或者我应该使用readfile(我试过吗?)
当我使用上面的代码下载时,文件的名称似乎是正确的或者其他什么,但是当我尝试使用SQLite3浏览器打开它时(当我直接从FTP下载时它可以工作)程序显示&#34 ;文件格式无效"。当我使用readfile时,它下载为" download"没有文件扩展名,当我尝试打开窗口时说无效文件。任何帮助都会很棒。
答案 0 :(得分:0)
没有application/db
内容类型。您应该使用application/octet-stream
代替。 filename
中的Content-Disposition
只是您建议客户端保存文件的文件名,但仅此而已,您还需要将文件内容本身发送给远程对等方。
readfile(....);
die();
如果您的数据已经存储在文件中,应该可以正常工作,否则您只能echo()
。