在MySQL数据库中存储哪种类型的路径?

时间:2010-12-21 11:48:20

标签: php sql mysql

当我使用PHP和MySQL构建一个简单的站点时,存储文件和图像路径的最佳方法是什么?

  • 将路径插入Mysql(系统路径C:/----
  • 将路径插入Mysql as(HTTP路径http://----

5 个答案:

答案 0 :(得分:6)

始终保存相对于您的网站目录的文件路径。考虑您的网站的地址是“foo.com”,并且您想要将图像存储在“foo.com/images”中。最好不要使用“http”存储图像地址,也不要使用“foo.com”。

因此,只保存文件名及其子文件夹(如果存在)。

答案 1 :(得分:3)

两者都不是,最好只存储文件名并让应用程序确定在哪里找到此文件。您可以根据数据库表确定它。例如,假设我们有一个具有头像字段的用户表。您可以只存储文件名(foo.jpg),然后确定应用程序中的路径(c:\ xampp \ htdocs \ project1 \ img \ users \ foo.jpg)。或者甚至更好,您可以离开此字段并且不存储关于图像的任何内容,然后您可以检查是否存在具有用户ID的图像,如1.jpg,2.jpg等。

但是,如果您确实要存储绝对路径,请从项目文件夹开始存储。例如,假设您有c:\xampp\htdocs\my_project\module1然后,从/module1

开始

如果您需要存储外部网址,则可以保存整个http://www.foo.com/test

答案 2 :(得分:1)

我建议你保存相对路径,而不是绝对路径。即,如果你有这个结构:

c:/install_folder/
c:/install_folder/script.php
c:/install_folder/files/file.jpg

将“file.jpg”存储为“files / file.jpg”。然后将“c:/ install_folder /”保存在应用程序中的某个配置值中。这样您就可以轻松移动应用程序并只更新配置文件。

答案 3 :(得分:1)

只需保存图像名称,让应用程序处理目录构建。

包括路径,绝对,虚拟或网址是否会将文件路径数据的开销添加到图像字段列中的每个条目。

如果必须将此信息存储在数据库中,为什么不将其作为外键存储到路径表中。

答案 4 :(得分:0)

这取决于您如何使用数据。当您想要编辑文件时,最佳解决方案是使用系统路径。当您需要时,例如链接到另一个页面,您可以使用HTTP路径