尝试写入文件并强制下载php

时间:2009-10-28 09:37:58

标签: php

我使用以下代码呈现要下载的文件。该文件使用数据正确保存在服务器上,并提示下载,但下载的文件为空。新文件与此脚本位于同一目录中。

<?php

if(strlen($_POST['name'])<1){
echo "error: you must enter a filename<br><a href=data.php>back</a>";
exit();
}

$name = $_POST['name'];
$data = file_get_contents("temp.php");

$fh = fopen("$name", 'w') or die("can't open file");
fwrite($fh, $data);
fclose($fh);

header("Cache-Control: public");
header("Content-Description: File Transfer");
header("Content-Length: ". filesize("$name").";");
header("Content-Disposition: attachment; filename=$name");
header("Content-Type: application/octet-stream; "); 
header("Content-Transfer-Encoding: binary");

?>

1 个答案:

答案 0 :(得分:4)

您实际上从未将文件发送给用户。在标题后添加:

readfile($name);