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

Zend framework2 在数据库中保存路径/或\,zend-framework2,zend-form,Zend Framework2,Zend Form,我想在数据库中保存图像的路径。我正在Windows系统上开发 我正在使用 setDestination( APPLICATION_PATH . "/userfiles/") 在我的数据库中,我有如下路径: C:\wamp\www\cheyenne\application/userfiles\test... 如果我尝试使用相对路径,如\public\covers,我会得到一个错误,如“路径或目录不存在” 我更喜欢第二种可能性,因为以前的Web服务器将是Linux上的Apache。将图片的完整路

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

我正在使用

setDestination( APPLICATION_PATH . "/userfiles/")
在我的数据库中,我有如下路径:

C:\wamp\www\cheyenne\application/userfiles\test...
如果我尝试使用相对路径,如
\public\covers
,我会得到一个错误,如“路径或目录不存在”


我更喜欢第二种可能性,因为以前的Web服务器将是Linux上的Apache。

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

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


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

,这样,您就会被告知所给的路径不存在。它告诉你准确的信息。找出当前目录,并相应地更改路径。还有,你在哪里进入这条路径?命令行?PHP包括?是的,谢谢!我在我的数据库中更改为:->setDestination(APPLICATION\u PATH./../public/images/upload”),现在当然我有这样的路径:C:\wamp\www\cheyenne\APPLICATION/。/public/images/upload\emission.jpg,在我的表单中显示图片很麻烦。我需要这样的路径:images/upload/minus.jpg。所以问题是:如何重命名路径,以及如何修复文件名前面的反斜杠。我尝试->addFilter('Rename','images/upload'),但在使用临时文件名时遇到问题。是的,孔路径是从应用程序路径传递的。你明白我的意思了,我没有多少关于如何使用相对路径的信息。你能给我一些关于config.local文件的更多信息吗?我也有一些问题,有时会失去我的布局,它适合在同一个方向。