在Cakephp 2.3中显示图像

时间:2013-07-02 21:30:54

标签: php image cakephp image-processing cakephp-2.3

我正在使用cakephp为网站编写一个小型新闻组件。这可行的理想方式是让管理员输入新闻项目的标题,来源,指向它的链接(如果有的话),其内容(备份)和附带的图像。 / p>

这一切都有效,但图像部分。由于每个条目最多只能包含一个图像,因此我将图像信息存储在我存储帖子的同一个数据库表中。到目前为止,我设法将图像文件上传到app / uploads /,并将其数据(名称,大小和类型)添加到数据库中。

现在我无法展示它。

我设法环顾四周,通过使用以下方式将图像设置为页面的单个内容:

$this->response->file($url);

但是,我需要能够将此图像显示为网站的嵌入部分,就像显示网络中的大多数图像一样。我一直在环顾四周,似乎找不到任何适当的指导。最简单的解决方案(通过了解图像文件夹的路径链接到图像)也不起作用,因为它们在应用程序/上传中,这意味着如果我链接那里,cakephp认为我正在调用'上传'类没有'存在。使用MOD_REWRITE可能是一个选项,但是,老实说,在我看来它更像是一个黑客,因为必须有一种方法来获取存储的文件并将其转储为图像,以便它可以嵌入到非常存储它的网站。

有人知道吗?

1 个答案:

答案 0 :(得分:2)

对于需要具有可视化公共访问权限的内容,例如css或js文件......或者在本例中为图像,简单的选项是将其放在webroot文件夹中。

我与蛋糕的通常结构就像

/app
   /Config
   ....
   /webroot
      /js
      /cs
      /users
         /images
         /docs
         ...etc

尝试访问应用程序中的文件夹(如app/uploads)将导致控制器和视图的路由出现问题。因此,将内容保存在webroot内会更容易。特别是如果它的图像与蛋糕严格相关。

请注意,webroot 中的内容具有公共访问权限,因此请不要将文件保存在您不希望被网址访问的位置。