如何重定向到cakephp中的外部URL

时间:2015-05-20 18:26:05

标签: php cakephp

我有这个功能:

    $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; ..

2 个答案:

答案 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 ?>">

这会给出类似这样的路径

http://domain/path_to_cakephp/img/upload/1432135612.png“;