Zend framework 如何在不公开场合展示形象

Zend framework 如何在不公开场合展示形象,zend-framework,zend-view,Zend Framework,Zend View,我有这样的结构: my_app application controllers forms models views data signature library public tests 我想在我的视图中显示图像在数据/签名中 既然帮助程序$this->baseurl()指向公共,我该怎么办?您可以使用showImageAction(),设置标题,并使用file\u get\u contents()或类似的工具将图像显示出来。如果您

我有这样的结构:

my_app
  application
    controllers
    forms
    models
    views
  data
    signature
  library
  public
  tests
我想在我的视图中显示图像在
数据/签名中


既然帮助程序
$this->baseurl()
指向公共,我该怎么办?

您可以使用showImageAction(),设置标题,并使用file\u get\u contents()或类似的工具将图像显示出来。

如果您在文档根目录中有图像,您可以通过将浏览器指向位置来显示它们:
http://example.com/images/image.jpg
,但如果它们不在文档的根目录中,您可以使用脚本(example.com/img.php?id=100)或某些子域(img.example.com/100.jpg maby)来显示example.com的文档根目录中没有的图像

//编辑


如果您使用nginx,您可以这样做:

在zend framework中,文档根是公共的,但我的图像在服务器配置文档中:
数据/签名
中,根始终是公共的,如果您有文件在外部文档根,您应该在controller中编写脚本或新操作来提供这些文件。或者使用一些子域,所以没有办法使用HTML img标记?只有当您的数据目录位于公共路径中时(我认为这不是一件好事)。。。否则,您需要将图像标记指向一个控制器操作,使其通过。出于安全原因,我建议您只在公共目录中设置公共目录,并将敏感数据放在其外部,并使用可检查授权的控制器操作进行设置。正是因为它们是敏感数据,我将它们放在文档根目录之外!但是这个在视图中显示图像的操作应该如何进行呢?就像
url(数组('controller'=>'image','action'=>'show','param'=>'SIGXXX');?>“alt=”“/>
其中SIGXXX是用于控制器的签名图像标识符,param是所用参数的名称。