下载文件,无需保存在服务器中

时间:2010-04-26 13:27:28

标签: php header

或者用户可以下载文件而不将其保存在服务器上? 我从数据库中获取数据,我想保存它们.doc(MS Word)文件。

if(isset($_POST['save']))
{   
$file = "new_file2.doc";
$stringData = "Text text text text...."; //This data put in new Word file

$fh = fopen($file, 'w');    
fwrite($fh, $stringData);
fclose($fh); 

header('Content-Description: File Transfer');
header('Content-type: application/msword');
header('Content-Disposition: attachment; filename="'.$file.'"');
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
ob_clean();
flush();
readfile($file);    
unlink($file);
exit;

}

如果没有这个,代码应该如何: “$ fh = fopen($ file,'w');
    fwrite($ fh,$ stringData);     FCLOSE($ FH);” 这个“unlink($ file);”

我希望了解我的需要     在这里输入代码

2 个答案:

答案 0 :(得分:5)

您只需输出标题,然后输出内容:

header(...);

echo $stringData;

无需播放任何文件。

答案 1 :(得分:0)

header("Content-type: application/octet-stream");    
header("Content-Disposition: attachment; 
filename=\"$_fileName\"");
ob_clean();
readfile($_filePath);