0

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

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

现在我不能显示了。

我所做的只是环顾四周,使用以下方法将图像设置为页面的单个内容:

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

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

有人知道吗?

4

1 回答 1

2

对于需要公开访问以进行可视化的内容,例如 css 或 js 文件……或者在这种情况下为图像,简单的选择是将其放入webroot文件夹中。

我对蛋糕的通常结构就像

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

尝试访问 app 中的文件夹(如app/uploads)会导致控制器和视图的路由出现问题。所以更容易把东西放在里面webroot。特别是如果它的图像仅与蛋糕严格相关。

请记住,webroot 中的内容具有公共访问权限,因此不要将不希望通过 url 访问的文件保存在其中。

于 2013-07-02T22:07:07.943 回答