【问题标题】:Storing image URL's in database and retrieval process在数据库和检索过程中存储图像 URL
【发布时间】:2012-07-03 00:59:54
【问题描述】:

我是 php/mysql 的新手。我正在尝试通过 URL(图像位置)将图像存储在我的数据库中,此时我的 php 代码将图像存储在名为上传的目录中的文件夹中。这是不安全的,所以我想将 url 放入数据库中。我的代码基于此IMAGEUPLOAD-WEBSITE 这是我的代码生成的 url 示例:

http://www.example.com/imageupload/uploads/medium/uniqueimagename.jpg

  1. 如何构造一个有效的表来存储 URL?是否应该与 Varchar 一起使用?
  2. 如何从我的数据库中检索此 url 并显示图像? php查询数据库中的文件名还是原始url?

【问题讨论】:

    标签: php mysql


    【解决方案1】:

    1. How would i construct a valid table that will store URL's? Should it be with Varchar?

    我不会将 URL 的完整路径存储到数据库中。所以,如果你有:

    http://www.example.com/imageupload/uploads/medium/uniqueimagename.jpg

    我只会存储:

    size: 2 (medium)
    name: uniqueimagename
    ext: jpg
    

    2. How can I retrieve this url from my database and display the image? php query of the filename in the database or original url?

    只需从数据库中获取数据并将原始数据放入您的 html 中

    【讨论】:

    • +1 但这仅适用于他控制范围内的图像。如果他的 URL 指向外部资源,那么这将不适用。如果存在内部/外部资源的某种组合,那么他将不得不编写代码以区分两者。
    • 因此他必须复制外部资源,以防止他的网站过于依赖外部资源。使缓存也更容易
    • 我通常会同意,但这很难声称,因为我们无法确定他存储 URL 的目的。也许他唯一的意图是链接到图像的外部来源......链接聚合当然不是不寻常的(即使它可能不受欢迎)。甚至在本地复制/存储图像可能会违反某些法律。我不知道,你也不知道。您的解释很好,当然适用于内部存储。我只是在评论什么时候可能不是合适的。
    • @Mr.Pallazzo +1 你的意图是正确的。我的图片不是来自外部来源。
    • 是的.. 我看到了upload 这个词,通常是upload != hotlinking ;-) 所以你现在得到了你需要的东西,或者你需要更多帮助?
    【解决方案2】:

    如果您打算存储 任何 图像 URL(而不仅仅是您自己的),那么您可以根据 URL 的长度限制将字段设置为 VARCHAR(2000) http标准:

    请参阅以下内容:
    What is the maximum length of a URL in different browsers?

    至于检索和显示图像,您可以简单地从您的数据库中获取值(基于您设计的某些键)并将查询结果用作您的图像源 URL。

    编辑:这是对这个主题的一个很好的探索:
    Storing Images in DB - Yea or Nay?

    【讨论】:

      【解决方案3】:

      您最好的选择是在成功上传后使用 PHP 重命名文件。将其命名为易于检索的名称(某种 ID)。将其存储在数据库中,或存储整个路径。使用 PHP 查询文件名或 ID,然后输出完整路径。将列设置为 VARCHAR(2000) 将适用于所有情况,但完全没有必要。如果您使用 ID 而不是抽出的文件名,则可以使其更短。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-03-21
        • 2015-08-01
        • 2015-03-16
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多