我有一个名为sign.php的包含文件,其中包含一些代码 -
header('Content-type: image/png');
.....
imagepng($image_file);
.....
我要显示此图片的文件 - index.php
......
<what comes here?> include('../sign.php');
.....
我该如何展示它?直接回应它并不起作用!
感谢。
更多代码:
sign.php
.....
{
imagettftext($im, 22, 0, 240, 43 , $text_color, $font, $text_god);
imagettftext($im, 22, 0, 241, 44 , $text_color, $font, $text_god);
}
imagettftext($im, 22, 0, 60, 42 , $text_color, $fontname, $text_username);
imagettftext($im, 16, 0, 230, 72 , $text_color, $font, $text_kills);
imagettftext($im, 16, 0, 230, 102 , $text_color, $font, $text_deaths);
imagettftext($im, 16, 0, 230, 132 , $text_color, $font, $text_rwon);
imagettftext($im, 16, 0, 365, 72 , $text_color, $font, $text_alevel);
imagettftext($im, 16, 0, 365, 102, $text_color, $font, $text_dlevel);
imagettftext($im, 16, 0, 365, 132 , $text_color, $font, $text_rlost);
imagettftext($im, 16, 0, 365, 162 , $text_color, $font, $text_money); // Prints the money in the picture.
imagecopymerge($im, $skinImg, 505, 56,0,0,55,99,100);
header('Content-Type: image/png');
imagepng($im);
imagedestroy($im);
的index.php
.......
<?php echo '<img src="../signature/sign.php" />'; ?>
.......
仍然无法运作!
编辑:
的index.php
include('../signature/sign.php');
echo '<img src="data:image/png;base64,' + base64_encode($stringdata) + '">';
sign.php
答案 0 :(得分:2)
这是因为imagepng
直接将图像内容输出到浏览器。
您应该将图像的内容保存到sign.php
:
...
imagecopymerge($im, $skinImg, 505, 56,0,0,55,99,100);
ob_start();
imagepng($im);
$stringdata = ob_get_contents();
ob_end_clean();
imagedestroy($im);
...
然后将其显示在index.php中,如下所示:
<?php
include('sign.php');
echo '<img src="data:image/png;base64,' . base64_encode($stringdata) . '">';
?>
答案 1 :(得分:0)
<img src='< ?php echo 'data:image/png;base64,' . base64_encode(file_get_contents('img.png')) ; ?> '>
<img src='<?php include("img.png"); ?>
这应该适合你。
答案 2 :(得分:0)
根据你说你试过<img src='sign.php'>
并且它不起作用,我想设置标题有问题,考虑一下
发送标题之前没有输出
必须在进行任何输出之前调用发送/修改HTTP标头的函数。
修改HTTP标头的一些功能是:
输出可以是:
<?php
之前或?>
之后的空白print
,echo
和其他产生输出的函数(如var_dump
)<html>
代码之前的原始<?php
区域。