我们正在建立一个酒店预订网站。我们需要存储大量图像。我们认为将图像存储在文件系统中并将路径存储在数据库中是更好的选择。但我们必须手动保存它们吗?我们正在使用其他网站的网络服务来获取图片。有没有办法在文件系统中动态保存图像?
答案 0 :(得分:2)
您可以使用PHP的文件获取内容功能或CURL将您想要的所有图像下载到磁盘,或者只是将外部图像引用到您的客户端,您不需要将它们本地存储在服务器上。
如果你喜欢Python,请检查Mecanize lib和BeautifulSoup,以便在需要时解析XML。
存储在磁盘中与存储在数据库中有它的好处。如果你需要扩展,它会更容易,你可以随时拥有专用于图像的lighttpd或nginx http服务器,或者只是将其放在其他服务器上以平衡带宽。
答案 1 :(得分:1)
这取决于数据库以及您如何提供图像。通常,最好将图像保存到磁盘,具体取决于您将图像传送到客户端。
获取图像通常是服务器从网站下载并保存图像的一些过程。在许多系统上,您可以使用wget或curl下载图像并保存它们。
这还取决于您获取数据的方式。如果它是通过XML或其他东西的某些内联二进制文件,那么您需要使用应用程序语言的功能提取它,并将其保存到磁盘。
根据实现语言和托管操作系统,如何做到这一点的机制各不相同。
答案 2 :(得分:0)
我认为您应该将远程(Web服务)和本地(文件系统)位置存储在数据库中,初始文件系统位置为空。如果用户第一次请求图像,请下载它,更新文件字段并显示它。有了这个概念,您将只拥有客户需要的图像。