我想用蛋糕php使用GD库,但我遇到了一些问题。 这是我的观点.ctp:
<?php
header("Content-type: image/png");
$img = @ImageCreate(200, 100);
$color = ImageColorAllocate($img, 255, 0, 0);
ImagePng($img);
?>
但是当我试图看到我的页面时,这就是我得到的:
�PNG IHDR�d�H�HPLTE�� 7IDATH����à�S�U�(~;IEND�B`�
我的GD库安装在我的服务器上(它出现在phpinfo())
知道为什么吗?
答案 0 :(得分:1)
您不应使用header()
文件中的view.ctp
功能。
在将所有标题发送到浏览器后呈现视图。
最好(也是唯一)这样做的方法是设置所有标头参数 来自你的控制器。 检查Setting headers以及CakeResponse如何设置不同的标头。
答案 1 :(得分:1)
您需要创建一个新的 view layout 来渲染这些图像。
例如使用以下内容创建一个新的布局为'app / View / Layouts / image.ctp'
<?php
header('Content-Type: image/png');
echo $this->fetch('content');
die();
然后在你的控制器的视图操作中添加
$this->layout = 'image';
现在应该为图像设置正确的标题。