Home  >  Article  >  Backend Development  >  Perfect solution to the problem of Cannot modify header information in PHP_PHP Tutorial

Perfect solution to the problem of Cannot modify header information in PHP_PHP Tutorial

WBOY
WBOYOriginal
2016-07-21 14:59:02930browse

I encountered this problem. I found this solution online and saved it as a favorite.
Friends who write PHP must have encountered such a problem: Change the http protocol header through the header function. , a warning similar to the following format will appear:

Copy the code The code is as follows:

Warning: Cannot modify header information - headers already sent by

Why is this? Because you cannot output anything before using the header function, including the output of output functions such as echo or var_dump, and the space before

Please see the test code:

Copy the code The code is as follows:

header("content-type:text/html;charset=utf-8");
die();
?>

This code is simple Header, there is no output before We use ultraEdit to open this file and switch to hexadecimal. You can see that at the beginning of the text, there is EFBBBF, followed by 3C 3F 70 68 70 (


What is this EFBBBF? Its name is BOM, Byte Order Mark, which is a convention under Windows for marking whether text is Unicode. The Notepad program uses these three bytes to determine whether the file is ANSI or Unicode.

Now that we know the cause of the problem, let’s find a way to remove the BOM. Use Dreamweaver to open this PHP page, and then enter the page settings (press Ctrl+J) to pop up the following window:


Cancel the selection "Including Unicode Signature (BOM)", just confirm. Now, we use UltraEdit to open the hexadecimal content of this file, as shown below



. You can see that the BOM information is gone now, and the file starts directly with 3C3F70 .

Finally, we refreshed the browser and found that there is no Warning prompt anymore, and the problem is solved.

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/328179.htmlTechArticleI encountered this kind of problem. I found this solution online and saved it for my friends who write PHP. I encountered such a problem: When changing the http protocol header through the header function, it will...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn