0

我是 Zend 框架的新手,所以如果这是一个基本问题,请原谅我,但我有一段时间,显示从数据库检索到的图像。

编辑:我基本上无法访问 /public/ 文件夹中的任何资源。我猜前端控制器正在重定向<link>标签和<img>标签内的 src 请求。每次我搜索时,我都会看到人们在访问 /public/ 文件夹之外的图像时遇到问题……但只要它们存储在 /public 文件夹下,它们似乎就可以了。我究竟做错了什么?

我在部分视图中有以下代码:

<?php
$user = Zend_Layout::getMvcInstance()->getView()->user;

?>
<section class="one-fifth first sidebar_profile">
  <div class="one-fifth first about_img"><img src="<?php if($user->picture){echo '/public/img/users/small_thumbs/'.$user->picture;}else{echo "#";}  ?>" alt="name"/>
      <p class="name"><?php  if($user) {echo $user->username; } else { echo "Username";} ?></p>

做一个转储$user给了我以下信息:

object(Zend_Db_Table_Row)[70]
protected '_data' => 
array
  'userID' => string '22' (length=2)
  'username' => string 'test' (length=4)
  'firstName' => string '' (length=0)
  'lastName' => string '' (length=0)
  'email' => string 'test@google.com' (length=18)
  'password' => string '098f6bcd4621d373cade4e832627b4f6' (length=32)
  'picture' => string '4fa3072fe09a5.jpg' (length=17)
  'verified' => string '1' (length=1)
  'confirm_key' => null
  'admin' => null

它持续了很长一段时间,但关键是文件在那里。查看呈现的页面的源代码,有问题的行呈现为:

<img alt="name" src="/public/img/users/small_thumbs4fa3072fe09a5.jpg">

我应该使用某种视图助手来显示这个吗?我找了又找,一个也找不到。

4

1 回答 1

1

从技术上讲,如果你使用框架,你不应该在你的视图中做逻辑。您应该在控制器和视图中执行 if/else 语句,只需执行以下操作:

<div class="one-fifth first about_img"><img src="$img"/></div>

但是对于您的问题,如果您将 src 属性复制粘贴到浏览器中,它会显示图片吗?

这是我的.htaccess。它直接提供任何扩展匹配此正则表达式的文件,并将其他所有内容重定向到我的 index.php,这是我的引导文件。

RewriteEngine On
RewriteRule \.(shtml|js|ico|gif|jpg|png|css|flv|swf|swz)$ - [NC,L]
RewriteRule ^.*$ index.php
于 2012-05-04T01:33:33.777 回答