我有一个表单,由用户填写,然后按"保存";。表单数据通过AJAX发送到php文件进行处理。php文件将表单数据写入一个文件,并标记几个文件。然后我想通过浏览器下载tar文件。
当用户按下";保存";,表单数据被写入到文件中。表单挂起大约30秒,tar文件被写入我的屏幕,表单被清除。下载代码似乎很简单:
$filename = '/var/www/html/temp.tar';
ob_clean();
header( 'Content-Type: archive/tar' );
header( 'Content-Disposition: attachment; filename="' . basename( $filename ) . '"' );
header( 'Content-Transfer-Encoding: binary' );
header( 'Content-Length: ' . filesize( $filename ) );
readfile( $filename );
我尝试过各种内容类型的线路,如
header( 'Content-Type: application/x-tar' );
header( 'Content-Type: application/tar' );
header( 'Content-Type: application/octet-stream' );
在我的httpd/error_log或Firefox控制台中没有错误。tar文件存在,为了测试起见,它是777。
我不知道该怎么办。
尝试使用"application/gzip"-tar是压缩文件,它不是官方媒体类型的