Php 从字符串强制下载

Php 从字符串强制下载,php,file,download,generated,Php,File,Download,Generated,已解决:查看评论 我让这个php页面回显一些xml数据,用户应该保存这些数据。我希望页面自动打开“另存为”窗口,因为下载数据的页面称为“下载”。php“这不会自行启动“另存为”。我在stackoverflow上读了很多其他的帖子,都是有人问同样的问题。这些都不能解决我的问题。所以,是的,我是故意复制的 这是我的代码: $file.='<bpage>'; $file.='<title>'.$_POST["title"].'</title>'; $file.='&

已解决:查看评论

我让这个php页面回显一些xml数据,用户应该保存这些数据。我希望页面自动打开“另存为”窗口,因为下载数据的页面称为“下载”。php“这不会自行启动“另存为”。我在stackoverflow上读了很多其他的帖子,都是有人问同样的问题。这些都不能解决我的问题。所以,是的,我是故意复制的

这是我的代码:

$file.='<bpage>';
$file.='<title>'.$_POST["title"].'</title>';
$file.='<desc>'.$_POST["desc"].'</desc>';
$file.='<cont>'.$_POST["cont"].'</cont>';
$file.='<img>'.$_POST["img"].'</img>';
$file.='<tdata>'.$_POST["tdata"].'</tdata>';
$file.='<link>'.$_POST["link"].'</link>';
$file.='<writer>'.$_POST["writer"].'</writer>';
$file.='<date>'.$_POST["date"].'</date>';
$file.='</bpage>';

header("Content-Type: application/octet-stream");
header("Content-Disposition: attachment; filename=".$_POST["title"].'.bpage');
echo $file;
$file.='';
$file.=''.$\u POST[“title”].';
$file.=''.$\u POST[“desc”].';
$file.=''.$\u POST[“cont”].';
$file.=''.$\u POST[“img”].';
$file.=''.$\u POST[“tdata”].';
$file.=''.$_POST[“link”].';
$file.=''.$\u POST[“writer”].';
$file.=''.$\u POST[“date”].';
$file.='';
标题(“内容类型:应用程序/八位字节流”);
标题(“内容处置:附件;文件名=“.$\u POST[“title”]..bpage”);
echo$文件;
我没有任何“另存为”对话框,只是普通的页面,好像它忽略了我的所有标题。 我使用的是Chrome和最新版本的PHP

--
劳克库斯

编辑:
我正在使用One.com作为主机。他们可能阻止了头函数吗?

看起来你的chrome设置为自动下载文件。在这种情况下,您将不会看到任何保存对话框,但文件将下载到默认的chrome下载位置

要查看“保存”对话框,请执行以下操作:

  • 进入Chrome扳手菜单>设置>高级设置>下载,选中显示
    下载前询问每个文件保存位置的框

相关部分可能重复您说您希望页面自动打开“另存为”窗口,但随后又说您不希望页面自动打开“另存为”窗口。哪一个?你能发布一个格式正确的代码版本吗?(例如,$文件分配和头之间有一个“
”。如果是输出,则头不会发送到客户端)您的代码不可理解…@D.Müller在
头()
s之后开始输出。是的,Chrome设置为自动下载,但该文件甚至没有下载。你能先确认它是否在其他浏览器(FF或IE)中下载吗?无论我使用什么浏览器,都不下载。它必须与我的代码或主机有关。它不是代码,因为它在本地为我工作。所以它必须和one.com做点什么。因为这似乎不是一个代码问题,所以您可能需要联系one.com客户支持部门,这对我帮助很大!我会联系他们的!请你加上这个作为答案,这样我就可以勾选它为正确的了?