如何使用带有cakephp的GD库

时间:2013-01-29 17:03:52

标签: php cakephp gd

我想用蛋糕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())

知道为什么吗?

2 个答案:

答案 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';

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