当我尝试运行此文件时,我收到此错误。
<?php
$im = imagecreatetruecolor(100, 100);
// sets background to red
$red = imagecolorallocate($im, 255, 0, 0);
imagefill($im, 0, 0, $red);
header('Content-type: image/png');
imagepng($im);
imagedestroy($im);
?>
Warning: Cannot modify header information - headers already sent by (output started at C:\xampp1\htdocs\check\2.php:1) in C:\xampp1\htdocs\check\2.php on line 7
�PNG ��� IHDR���n������V,����PLTE����[an����fIDAT�c`�`fx���`Ǡ����41����˖ݒ�q�@;{á0� �i
答案 0 :(得分:2)
如果那是完整的脚本,并且开头<?php
标签前面没有显示任何内容(您的编辑器可能有一个“可见空白”选项可以显示任何内容),另一件事可能是该文件是否已保存为UTF8,并且文件中的前几个字符具有“BOM”。将其重新保存为纯文本(可能是“ANSI”)可能会改善问题。
另一种可能性是在运行脚本之前正在预先添加文件。这可能有输出,或者在关闭php标记之后尾随内容(我的建议 - 除非特别要求,否则没有关闭的PHP标记)。
将header('Content-type: image/png');
移动到脚本顶部不会受到影响,除非在开始标记之前确实输出了某些内容。
答案 1 :(得分:0)
Alister说了一切可能导致错误的事情,但还有一件事。 PHP可能会抛出一些错误/警告/通知。删除标题并检查是否没有错误。
答案 2 :(得分:0)
使用此给定代码...我希望你不会发现任何错误