-1

我正在强制下载文件。它是一个 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));
4

1 回答 1

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

希望这可以帮助。

于 2012-09-18T02:13:29.387 回答