对PHP文件使用header函数?

对PHP文件使用header函数?,php,forms,Php,Forms,为什么我们需要把它放在PHP脚本的顶部?如果我们有一个包含一些PHP元素的HTML文件,我们应该只使用它吗 header('Content-Type: text/html; charset=utf-8'); 我有一个内置于HTML中的表单,但文件本身是用PHP编写的。有些浏览器在没有页眉的情况下并不认为页面是HTML,所以要让页面在其中正常工作,必须发送页眉 显然,如果您使用的是UTF8,您需要指定它,这就是为什么您要发送这个头 当然,标题可以用来指定其他类型的文件将由我们的php代码

为什么我们需要把它放在PHP脚本的顶部?如果我们有一个包含一些PHP元素的HTML文件,我们应该只使用它吗

    header('Content-Type: text/html; charset=utf-8');

我有一个内置于HTML中的表单,但文件本身是用PHP编写的。

有些浏览器在没有页眉的情况下并不认为页面是HTML,所以要让页面在其中正常工作,必须发送页眉

显然,如果您使用的是UTF8,您需要指定它,这就是为什么您要发送这个头


当然,标题可以用来指定其他类型的文件将由我们的php代码返回,如PDF、Excel、CSV等。

5.6之前的php版本默认情况下没有指定
charset=utf-8
。如果您在UTF-8中使用非ASCII字符,并且浏览器没有正确检测编码,这可能会导致呈现问题。

我们应该始终指出php脚本生成的任何文件的内容类型和字符集,因为我们不能依赖默认设置通过Apache来完成,然后只设置一次。你所做的就是告诉接收端你发送的内容。PHP脚本通常发送html,但并不总是如此。因此,如果我有一个表单是用html构建的,但保存为PHP文件,我应该将它以这种格式放在表单的顶部<代码>另外,这是否意味着我也需要将其放在脚本中?幸运的是,我用表单保存的所有数据都写入了文件,而没有返回给用户,因此我不需要一堆不同的标题。@LoudGraveyard,你把文件扩展名和内容类型搞混了。您的文件是一个php文件,但您将返回什么内容到浏览器?HTML代码,因此内容类型应为text/HTML。您可以从php代码返回XML,内容类型为text/XML,等等。