通过 link 显示数据库中的图像? (PHP/MYSQLI) 新手
Displaying images via link from database ? (PHP/MYSQLI) NEWBIE
如果我在数据库中存储图像链接然后只在网站上显示它们可以吗?这是一种不好的做法吗?下面的示例代码
<?
echo "<img src='/projects".$row['image']."' >";
根据评论要求。
根据您的应用程序及其复杂性,您可能希望尽可能简化图像加载,将图像 url 存储在数据库中并不是最佳方法。理想情况下,您希望按类型将图像分组到目录中,并保持图像名称的通用结构,以便您可以轻松地交换图像,只需替换 thair id 或单个字符串。这是一个非常简化的图像加载器示例 class:
目录结构:
images
-> products
-> product-123.png
-> icons
-> arrow.png
图片加载器class:
class ImageLoader {
const IMAGE_PATH = '/images'
const PROCUCT_IMAGE_PATH = '/products/'
const ICON_IMAGE_PATH = '/icons'
const IMAGE_EXTENSION = '.png'
static public function getIconImage($identifier) {
return self::IMAGE_PATH
. self::ICON_IMAGE_PATH
. $identifier
. self::IMAGE_EXTENSION;
}
static public function getProductImage($identifier) {
return self::IMAGE_PATH
. self::PROCUCT_IMAGE_PATH
. 'product-'
. $identifier
. self::IMAGE_EXTENSION;
}
}
用法
手动传递图像名称:
<img src="<?= ImageLoader::getIconImage('arrow') ?>" />
将变量作为存储在数据库中的 id 传递:
<img src="<?= ImageLoader::getProductImage($productIdFromDatabase) ?>" />
如果我在数据库中存储图像链接然后只在网站上显示它们可以吗?这是一种不好的做法吗?下面的示例代码
<?
echo "<img src='/projects".$row['image']."' >";
根据评论要求。 根据您的应用程序及其复杂性,您可能希望尽可能简化图像加载,将图像 url 存储在数据库中并不是最佳方法。理想情况下,您希望按类型将图像分组到目录中,并保持图像名称的通用结构,以便您可以轻松地交换图像,只需替换 thair id 或单个字符串。这是一个非常简化的图像加载器示例 class:
目录结构:
images
-> products
-> product-123.png
-> icons
-> arrow.png
图片加载器class:
class ImageLoader {
const IMAGE_PATH = '/images'
const PROCUCT_IMAGE_PATH = '/products/'
const ICON_IMAGE_PATH = '/icons'
const IMAGE_EXTENSION = '.png'
static public function getIconImage($identifier) {
return self::IMAGE_PATH
. self::ICON_IMAGE_PATH
. $identifier
. self::IMAGE_EXTENSION;
}
static public function getProductImage($identifier) {
return self::IMAGE_PATH
. self::PROCUCT_IMAGE_PATH
. 'product-'
. $identifier
. self::IMAGE_EXTENSION;
}
}
用法
手动传递图像名称:
<img src="<?= ImageLoader::getIconImage('arrow') ?>" />
将变量作为存储在数据库中的 id 传递:
<img src="<?= ImageLoader::getProductImage($productIdFromDatabase) ?>" />