通过 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) ?>" />