0

我想将 GD 库与 cake php 一起使用,但我遇到了一些问题。这是我的view.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() 中)

知道为什么吗?

4

2 回答 2

2

您将需要创建一个新的视图布局来渲染这些图像。

例如,使用以下内容创建一个新布局为“app/View/Layouts/image.ctp”

<?php 
header('Content-Type: image/png');
echo $this->fetch('content'); 
die();

然后在控制器的视图中添加

$this->layout = 'image';

现在应该为图像设置正确的标题。

于 2013-01-29T17:29:24.687 回答
1

您不应该在文件中使用该header()函数。view.ctp在将所有标头发送到浏览器后呈现视图。

最好的(实际上也是唯一的)方法是设置控制器中的所有标头参数。检查设置标头以及如何设置不同标头的CakeResponse 。

于 2013-01-29T17:28:04.363 回答