首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >php代码在下载文件的头代码之后不起作用

php代码在下载文件的头代码之后不起作用
EN

Stack Overflow用户
提问于 2016-09-29 03:55:26
回答 1查看 299关注 0票数 0

我有这段代码,由于某种原因,在这段代码强制下载文件代码后,下一段php代码无法运行。

代码语言:javascript
复制
          $file = "2.jpg";
          header("Content-Type:application/force-download");
          header("content-disposition:attachment; filename=".$file);
          readfile("$file");      

          echo "hello"

例如,echo "hello"命令不起作用

EN

回答 1

Stack Overflow用户

发布于 2016-09-29 04:45:08

由于HTTP协议的工作方式,标头的内容-在来自服务器的回复中-用于确定如何处理回复正文的内容。

并且添加了一些头部,告诉浏览器(或接收回复的内容)将内容视为JPG数据。所有的内容。这就是发生的事情。您不需要同时发送数据和一些HTML/文本来显示。发送页面或JPG内容。

如果你看一下你下载的镜像文件的内容,它的末尾应该会有"hello“。

更新:

如果您愿意,可以使用meta标记首先显示一条消息,然后重定向到您的下载URL。本例中的2是重定向发生前等待的秒数。

代码语言:javascript
复制
<!doctype html>
<html lang="en">
<head>
  <meta http-equiv="refresh" content="2;URL='http://example.com/readfile.php'" />
  <title>You will soon be downloading</title>
</head>

<body>
  Hello
</body>
</html>

这是最干净的方法。如果你不想在文件下载完成之前显示消息,你也可以这样做,但是之后你必须求助于Javascript(AFAIK)。这就有点棘手了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39756551

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档