我正在创建一个电影数据库,我有一个Python脚本可以下载电影海报(和信息)并将它们存储在一个文件夹中。例如,/var/www/html/images
。
我还有一个PHP文件,根据ID显示每部电影的唯一页面。例如,有一个列表页面,用户点击一部电影,然后转到localhost/movielist.php?id=3
等。
到目前为止,电影信息显示得非常完美。但是,图像无法加载。
在我的python脚本中,我将电影海报图像保存为电影的名称,所以如果我有海底总动员的海报,文件名将为Finding Nemo.jpg
。它保存得很好,我可以查看文件夹中的图像。
问题是图像不会显示在我的PHP页面上。
这是我文件中的PHP代码:
<?php
$username="root"; $password="12345"; $database="videos";
$con = mysqli_init();
mysqli_options($con, MYSQLI_OPT_LOCAL_INFILE, true);
mysqli_real_connect($con, "localhost", $username, $password, $database);
mysqli_select_db($database);
if(isset($_GET["id"])){
$id = $_GET["id"];
} else {
require("listFull.php");
}
$res = mysqli_query($con, "SELECT id, title, yr, genre, plot, rating FROM films WHERE id = " . $id);
$movItems = array("Title" => "title", "Year" => "yr", "Genre" => "genre", "Plot" => "plot", "Rating" => "rating");
while($row = mysqli_fetch_array( $res )){
foreach($movItems as $k => $el){
echo "<h3>" . $k . "</h3>";
echo "<p>" . $row[$el] . "</p>";
}
echo "<img src='/var/www/html/images/".$row['title'].".jpg'>";
}
?>
这将根据页面的ID获取行/电影的信息并显示它。图像文件夹中的图像名称与数据库中的电影名称相同。
如何显示图像?
答案 0 :(得分:3)
你的问题是img标签。首先,标记格式错误,开头的<
缺失。
其次,您不应该使用/ var / www / html /作为图像路径,因为该目录仅在localhost中可见。如果你想公开它们,你必须提供正确的网址,如www.mysite.com/images/Finding%20Nemo.jpg。
最后,注意文件&#39; name:在http请求中你可以使用空格和其他特殊字符(在上面的例子中我用%20替换了空格)所以一定要替换它们。
答案 1 :(得分:3)
问题可能出在您的图像路径上,这应该是相对于Web根目录,而不是Web服务器上的实际路径。因此,例如,如果您的Web根目录是/ var / www / html,并且您的图像存储在/ var / www / html / images中,那么您的图像路径应为:
echo "<img src='/images/".$row['title'].".jpg'>";