[英]Display image from php
我正在嘗試在html文件中顯示圖像。 到目前為止,我使用了一個URL: http : //placehold.it/400x300 ,它工作正常,現在當我嘗試用數據庫中的圖像替換它時,它什么也不會顯示。 圖像路徑為:D:/uwamp/www/project/upload/tcf_animal17.jpg我嘗試使用其他路徑,但是它不起作用。 我不確定問題出在哪里。 我打印了數據,這是個好方法
html
<?php foreach ($data[0] as $film):?>
<div class = <?= $film['id_film'] ?> >
<div class= "col-lg-3 col-md-4 col-xs-6 thumb filmDiv" >
<a class="thumbnail " id = "filmShow" href= <?= "/project/admin/showFilm/" . $film['id_film']?>>
<p> <?= $film['title_film'] ?> </p>
<img class="img-responsive overlay" src= <?= $film['img'] ?> alt="">
</a>
<a class="" href =<?= "/project/admin/update/" . $film['id_film'] ?> >
<button name="upd" id="upd" type="button" class="btn btn-default">Update</button>
</a>
<a class="delete"name= <?= $film['id_film'] ?> >
<button id="delete" type="button" class="btn btn-default">Delete</button>
</a>
</div>
</div>
<?php endforeach; ?>
控制器:
public function GetLastFilms()
{
$films = $this->film->getFilms();
$lastFilms = $this->film ->getLastFilm();
$dict[0] = $films;
$dict[1] = $lastFilms;
return $dict;
}
public function index()
{
if(isset($_SESSION['login']))
{
$this->generateView($this->GetLastFilms());
}else
{
header('Location: /project/admin/login');
}
}
protected function generateView($data = array())
{
$classeControler = get_class($this);
$controler = str_replace("Controler", "", $classeControler);
$view = new View($this->action, $controler);
$view->generate($data);
}
查看:
public function generate($data)
{
$contenu = $this->generateFile($this->viewFile, $data);
$racineWeb = Configuration::get("racineWeb", "/");
$view = $this->generateFile('View/Template/index.php',
array('title' => $this->viewTitle, 'contenu' => $contenu,
'racineWeb' => $racineWeb));
echo $view;
}
private function generateFile($viewFile, $data)
{
if (file_exists($viewFile))
{
extract($data);
ob_start();
require $viewFile;
return ob_get_clean();
}
else
{
throw new Exception("can't find '$viewFile'");
}
}
您的問題是數據庫中圖像的路徑存儲為來自計算機的本地路徑( D:/uwamp/www/project/upload/tcf_animal17.jpg
),要正確顯示該路徑,它必須是相對路徑到您的Web服務器文檔的根目錄。
例如,如果您的Web服務器文檔根目錄為D:/uwamp/www
,那么您需要存儲的圖像路徑應為project/upload/tcf_animal17.jpg
。
當然,如果您不能將圖像存儲在Web根目錄中,則始終可以選擇直接轉儲內容,但是出於性能原因,這並不是一個好主意:
<?php
$mime = image_type_to_mime_type(exif_imagetype(string $image_path));
$data = "data:$mime;base64," . base64_encode(file_get_contents($image_path)); ?>
?>
<img src="<?= $data ?>">
該代碼非常粗糙,並且不進行錯誤檢查-您需要為生產級應用程序添加代碼。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.