在数据库中保存路径/或\

问题描述:

我想保存图像在我的数据库中的路径。我正在开发Windows系统。在数据库中保存路径/或

我使用

setDestination(APPLICATION_PATH . "/userfiles/") 

在我的数据库我有类似下面的路径:

C:\wamp\www\cheyenne\application/userfiles\test... 

如果我尝试使用相对路径一样\public\covers我得到一个错误,如“路径或目录不存在“。

我更喜欢第二种可能性,因为前者的网络服务器将成为Linux上的Apache。

+0

所以,你被告知你给它的路径不存在。它告诉你准确的信息。找出您的*当前目录*并相应地更改您的路径。另外,你在哪里输入路径?命令行? PHP包括? – BLaZuRE

+0

是的谢谢!我改为: - > setDestination(APPLICATION_PATH。“/../public/images/upload”)在我的数据库中,当然我有这样的路径:C:\ wamp \ www \ cheyenne \ application /../ public /images/upload\minus.jpg和麻烦,以我的形式显示图片。我需要这样的路径:images/upload/minus.jpg。所以问题是:我如何重命名路径,以及如何修复文件名前的反斜杠。我试过 - > addFilter('重命名',“图像/上传”),但我有麻烦临时文件名。 –

在数据库中存储图片的完整路径并不是一个好主意。你真的应该考虑使用相对路径,并在数据库视图上构建渲染的完整路径......我的观点是,你可以或不知道你的应用程序将在哪里以及你的应用程序将如何部署。

例如,今天,您将图像存储在同一台服务器上,因为流量问题,您将所有图片移动到专用于图片的第二台服务器上...如果存储图片的完整路径,您必须执行SQL请求才能更改部分路径并更新您的代码。如果你有相对路径,你只需要改变你的应用程序配置。这可以在覆盖默认配置的config.local文件中完成。

对于反斜杠......这是正常的,你在Windows上。在代码上使用默认的php全局变量DIRECTORY_SEPARATOR而不是“/”。

+0

是的洞路径是从APPLICATION_PATH传递的。你明白了,我不知道如何使用相对路径。你能给我一些关于config.local文件的更多信息吗?有时候我也有一些失去布局的问题,它符合相同的方向。 –