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

Simple PHP script for XZ file download

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

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;
}
?>

我认为您使用了错误的内容类型。参考“http://tukaani.org/xz/xz-file-format.txt”,正确的 MIME 类型是“application/x-xz”。