我有这个功能:
$this->loadModel("EstProdutoCpl");
$foto = $this->EstProdutoCpl->find('first', array('fields'=> array('caminho_foto'), 'conditions' => array('cd_cpl' => $id)));
if(!empty($foto['EstProdutoCpl']['caminho_foto'])){
$this->set('foto', $foto['EstProdutoCpl']['caminho_foto']);
}else{
echo "<p align='center'>Produto sem foto cadastrada !</p>";
}
我的观点:
<img src="<?php $foto ?>">
只是为了展示一张图片。
$ foto的路径为C:\wamp\www\pedidoOnline\app\webroot\img\upload\1432135612.png
如何向用户显示图像?
仅显示&#34;打破图像&#34; ..
答案 0 :(得分:1)
假设你在那里的完整路径:
C:\wamp\www\pedidoOnline\app\webroot\img\upload\1432135612.png
你的cakePHP应用程序的webroot位于:
C:\wamp\www\pedidoOnline\app\webroot
您应该能够使用如下所示的网址显示您的图片:
/img/upload/1432135612.png
答案 1 :(得分:1)
路径
C:\wamp\www\pedidoOnline\app\webroot\img\upload\1432135612.png
是您的目录路径,没有人可以从网络访问它
在cakephp中使用这样的路径
$this->webroot.'/img/upload/1432135612.png';
并且不要在数据库中存储完整的图像路径,因为如果您将文件迁移到另一个文件夹,或者如果您更改了域名,则会出现问题。
因此尝试仅存储图像名称,因为路径img / upload是静态的,因此不必存储和$ this-&gt; webroot将提供webroot文件夹的路径。
所以只将图像名称保存到数据库并按照这样做
<img src="<?php echo $this->webroot ?>img/upload/<?php echo $foto ?>">
这会给出类似这样的路径