2016-06-27 28 views
0
<?php $dir=Yii::getAlias("@common/web/fileuploads/"); ?> 
<img src="<?=$dir. $model->file_id ?>" width="200" height='200' /> 

請幫助我如何從後端/視圖中獲取圖像。我需要從視圖中查找目錄謝謝你!Yii2如何從後臺/視圖/部門/ view.php獲得common/web/fileuploads/image.jpg

+0

您還沒有指定什麼是你強' file_id'。它是完整路徑還是文件名,即image.jpg。此外,您在控制檯中遇到了什麼錯誤,例如找不到圖片/路徑/網址或其他內容? – yetanotherse

+0

file_id只是一個名稱,沒有錯誤,但圖像不顯示在網頁中。常見和後端是相同的目錄級別。 –

回答

1

使用此功能可以獲取應用程序的baseUrl。

<?= Html::img(Yii::$app->request->baseUrl.'/../../common/web/fileuploads/'.$model->file_id ,['width' => 200 ,'height' => 200])?> 
+0

我看到在瀏覽器中的檢查元素,但圖像不顯示 –

+0

你是否改變了你的目錄結構的後端..你的入口腳本所在的文件夾。 –

+0

需要刷新你的dom元素.... –

0

在你的配置文件,聲明別名

'aliases' => [ 
     '@files' => '@common/web/fileuploads/', 
     [...] 

然後,你可以通過訪問:

<img src="<?= Yii::getAlias('@files') . $model->file_id ?>" /> 

檢查螢火蟲如果圖像不顯示,看看路徑中有什麼問題。

+0

目錄是,但圖像不顯示 –

+0

怎麼做你設定了你的項目?我的意思是,圖像應位於根目錄中,通常位於前端/網頁中,以便可訪問 –

+0

我希望它可以從前端和後端訪問。所以,我將它保存到通用文件夾中。我可以從後端/控制器/保存它。但我無法從後端/查看回 –

0

假設您的URL中的Web文件夾是默認的公共Yii文件夾,您應該能夠查看圖像,如下所示。

Html::img(Yii::getAlias('@web') . '/fileuploads/' . $model->file_id ,['width' => 200 ,'height' => 200]) 

但是,如果您已更改文件夾結構,然後共享保存圖像的文件夾的完整路徑。

+0

我的圖像保存爲common/web/fileuploads –

+0

需要完整路徑。另外,上面的代碼不工作? – yetanotherse

+0

yeap code is not working D:\ Projecti \ phoenix \ common \ web \ fileuploads –

0

你只需要添加backend-> config-> main.php

return [ 
     'components' => [ 
      'urlManager' => [ 
       // here is your backend URL rules 
      ], 
      'urlManagerCommon' => [ 
      'class' => 'yii\web\urlManager', 
      'baseUrl' => 'common/wb/', //access common web url in backend 
      'enablePrettyUrl' => true, 
      'showScriptName' => false, 
      ], 
     ], 
    ]; 

,然後訪問網絡中backend

<?= Html::img(Yii::$app->urlManagerCommon->baseUrl.'/fileuploads/'.$model->file_id, ['width' => 200 ,'height' => 200, 'alt' => 'No Image']); ?>