为了账号安全,请及时绑定邮箱和手机立即绑定

通过数据库中的链接显示图像?(PHP/MYSQLI) 新手

通过数据库中的链接显示图像?(PHP/MYSQLI) 新手

PHP
梵蒂冈之花 2021-06-28 10:55:36
如果我在数据库中存储指向图像的链接然后只在网站上显示它们可以吗?这是一种不好的做法吗?下面的示例代码<?   echo "<img src='/projects".$row['image']."' >";
查看完整描述

1 回答

?
holdtom

TA贡献1805条经验 获得超10个赞

按照评论的要求。根据您的应用程序及其复杂性,您可能希望尽可能简化图像加载,并且将图像 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) ?>" />


查看完整回答
反对 回复 2021-07-09
  • 1 回答
  • 0 关注
  • 185 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信