通过数据库链接显示图像? (PHP / MYSQLI)NEWBIE

时间:2019-05-24 15:53:41

标签: php mysql display

如果我将链接存储在图像中,然后在网站上显示它们,可以吗?这是不好的做法吗?下面的示例代码

<?
  echo "<img src='/projects".$row['image']."' >";

1 个答案:

答案 0 :(得分:0)

根据评论的要求。   根据您的应用程序及其复杂性,您将希望尽可能简化图像加载,并且将图像URL存储在数据库中并不是最佳方法。理想情况下,您希望按类型将图像分组到目录中,并保持图像名称的公共结构,以便您可以轻松地交换图像,而只需替换Thair ID或单个字符串即可。这是一个非常简化的图像加载器类的示例:

目录结构:

images
    -> products
        -> product-123.png
    -> icons
        -> arrow.png

图像加载器类:

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