我正在强制下载文件。它是一个xml文件。问题是当我下载它时,该文件包含从中开始下载的当前页面的html转储。这是片段
文件:/bitrix/modules/export/admin/export.php
$name='market'.date('Y-m-d-H-i-s').'.yml';
$file='/bitrix/modules/export/export/'.$name;
$filename=$_SERVER["DOCUMENT_ROOT"].$file;
$fp=fopen($filename,"wb");
/*
*
* Here goes some generating script
*
*/
fclose($fp);
header('Content-disposition:attachment;filename="'.$name.'"');
header('Content-type: application/svg+xml');
readfile(realpath($file));
答案 0 :(得分:1)
当包含空行,不同代码等时,很难让下载脚本工作。在生成文件后发布文件名应该有效。下载脚本示例:
<?php
if ( isset ( $_REQUEST[ 'filename' ] ) ) {
$FileName = $_REQUEST[ 'filename' ];
$DownloadFolder = "MyDowloads";
status_header( 200 );
header( "Content-type: application/force-download" );
header( 'Content-type: application/svg+xml' );
$saveas = $FileName;
header( "Content-Disposition: attachment; filename=\"$saveas\"" );
readfile( $DownloadFolder . $FileName );
}
?>
希望这有帮助。