如何引用MySQL表中目录中存储的图像?
我有一组png图像(16x16)存储在我的web服务器上的文件夹中。路径:c:/wamp/www/website/images/flags。这些图像代表了世界各国的不同旗帜 当我通过PHP脚本在表中输出国家列表及其各自的标志时,我希望能够动态访问这些图像 在我的数据库中,我创建了下表如何引用MySQL表中目录中存储的图像?,mysql,sql,database,Mysql,Sql,Database,我有一组png图像(16x16)存储在我的web服务器上的文件夹中。路径:c:/wamp/www/website/images/flags。这些图像代表了世界各国的不同旗帜 当我通过PHP脚本在表中输出国家列表及其各自的标志时,我希望能够动态访问这些图像 在我的数据库中,我创建了下表 CREATE TABLE country ( ID INT UNSIGNED NOT NULL AUTO_INCREMENT, countryCode CHAR(2) NOT NULL, countr
CREATE TABLE country (
ID INT UNSIGNED NOT NULL AUTO_INCREMENT,
countryCode CHAR(2) NOT NULL,
countryName VARCHAR (50) NOT NULL,
phoneCode CHAR (3) NOT NULL,
imagePathName VARCHAR (254) NOT NULL,
PRIMARY KEY(ID)
) ENGINE = InnoDB;
在这种情况下,图像引用是如何工作的?我是否像任何CSS或HTML一样存储路径
如果必须存储路径,是否只需按以下形式添加路径:
INSERT INTO country VALUES ('', 'CD',
'Democratic Republic of Congo, '243', 'c:/wamp/www/website/images/flags/cd.png')
或者我必须有一个BLOB数据类型的列。如果是这样,INSERT语句会是什么样子?我的建议如下 1不在我的sql数据库中存储图像。它将增加数据库大小(页面计数),并影响数据库性能 2在配置文件(PHP)中存储图像文件夹路径 3在数据库表中仅存储图像名称或id,使用应用程序可以组合名称+路径并获得完整的图像路径
我认为按照马赫什的建议,这对你来说是有意义的: 这是密码
<?php
$dbc = mysqli_connect('127.0.0.1','root','','fortesting') or die (mysqli_error($dbc));
$query = "SELECT countryCode AS 'Code', countryName AS 'Name', filename AS 'Flag'
FROM country";
$execute = mysqli_query($dbc, $query);
?>
<html>
<head>
<title>test</title>
</head>
<body>
<table>
<?php while ($result = mysqli_fetch_array($execute)){ ?>
<tr>
<td><?php echo $result['Name'] ?> </td>
<td><img src="images/flags/<?php echo $result['Flag']?>.png"></td>
</tr>
<?php } ?>
</table>
</body>
</html>
while()循环显示MySQL表的内容
在HTML表格的第一列中,国家名称通过以下方式显示:
<td><?php echo $result['Name'] ?> </td>
在HTML表格的第二列中,表示该国家的标志的文件名打印在URL链接中:
<td><img src="images/flags/<?php echo $result['Flag']?>.png"></td>
.png>
国家和国旗的名称是动态显示的。这正是我所需要的。如果你存储的是路径,你应该能够像存储其他字符串一样存储它,如果你存储的是实际图像,你只需要一个BLOB。换句话说,“是”BLOB,中文本和大文本数据类型会降低数据库性能。你知道吗sh.我有一个想法,我可以通过在数据库中保存图像名称来解决这个问题。我会在完成后发布最终结果。@Broda man是的,请将其添加为答案,这将帮助其他人了解我是一名数据库工程师,所以我从数据库端给出了一些建议,但不是应用程序端
<td><img src="images/flags/<?php echo $result['Flag']?>.png"></td>