用于XZ文件下载的简单PHP脚本

时间:2015-08-12 11:22:15

标签: php download http-headers

我正在尝试设置一个备份系统来执行备份,压缩文件并使其可以从浏览器下载。该文件正确下载,但当我尝试解压缩时,我得到:

unxz: backup_2015-08-12.txz: File format not recognized

有一个将输出的备份脚本

/tmp/agribackup.txz

PHP脚本如下:

<?php
// Create the agribackup.txz file
$e = shell_exec("/usr/local/bin/agribackup.sh");

$file = '/tmp/agribackup.txz';

if(file_exists($file)) {
    header('Content-Description: File Transfer');
    header('Content-Type: application/xz');
    header('Content-Disposition: attachment; filename=backup_'.date("Y-m-d") . '.txz');
    header('Expires: 0');
    header('Cache-Control: must-revalidate');
    header('Pragma: public');
    header('Content-Length: ' . filesize($file));
    readfile($file);
    exit;
}
?>

1 个答案:

答案 0 :(得分:1)

我认为你使用了错误的Content-Type。请参阅“http://tukaani.org/xz/xz-file-format.txt”,正确的MIME类型为“ application / x-xz ”。