2017-06-12 40 views
1

我正在做一些内容为文本的文本文件,但是每当我下载文件时,我在文件中获得的内容都是<h,并且没有内容。这是我的代码:生成可下载的文件时不下载内容使用php

$filename = 'download.txt'; 
$content = "Hi"; 
$f = fopen($filename, 'w'); 
fwrite($f, $content); 
fclose($f); 
header("Cache-Control: public"); 
header("Content-Description: File Transfer"); 
header("Content-Length: ". filesize("$filename").";"); 
header("Content-Disposition: attachment; filename=$filename"); 
header("Content-Type: application/octet-stream; "); 
header("Content-Transfer-Encoding: binary"); 

readfile($filename); 

回答

0

应filesize(“$文件名”)文件大小($文件名)?

+0

,什么也不做:( –

0

试试这个

header('Content-disposition: attachment; filename=gen.txt'); 
header('Content-type: text/plain'); 
+0

不,它仍然以'

0

尝试指定的目录要保存文件一样$fp = fopen($_SERVER['DOCUMENT_ROOT'] . "/filename.txt","w");

0

我复制你的代码,并将其粘贴到一个文件并运行它和“download.txt”文件被创建并包含“Hi”

因此,这不是您的代码,它可能是您的Web服务器设置。

+0

我需要有download.txt救了我的服务器上? –

+0

它已经保存的内容。 –

+0

FCLOSE($ F下载); 这将它保存在服务器上,如果你在服务器上看不到该文件,那么出于某种原因或者你没有保存它,你需要检查你所有任务的结果是什么。文件对象创建文件时,写入命令的结果是什么,关闭命令的结果是什么,当你知道自己在做什么时,不检查错误就没问题,但如果你只是通过复制和粘贴来学习您真的需要添加您可以添加的所有支票。 –