如何以编程方式将图像存储在Drupal站点上可公开访问的位置?

时间:2010-01-26 22:53:49

标签: php drupal drupal-6 drupal-modules

我正在编写一个Drupal模块,用户可以在其中发送内容(格式为HTML)。内容几乎总是包含<img>标记。这些标签将引用用户的服务器。但是,每次请求内容时,我都不想点击用户的服务器;我想在我的服务器上提供一个版本。

所以,我编写了一个函数来浏览<img>标签的HTML,然后使用cURL将它们保存在本地。一切都很好 - 除了我无法弄清楚我的本地文件系统中存储图像的位置,这要归功于Drupal疯狂的URL重写。理想情况下,我可以将它们放在已经可以通过Web访问的目录中,而不必创建任何新目录。

有什么想法吗?

TIA,
本吉

P.S。:使用ImageField不太可行,因为我需要内联显示图像。谢谢!

2 个答案:

答案 0 :(得分:4)

理论上,您应该能够将它们放在webroot下的任何位置,并且它们将是可维护的,但通常情况下,内容图像(与主题图像相对)会进入您的files目录,这通常是配置为/sites/default/files。我通常会在子文件夹中添加一些结构,所以我将它们放在/sites/default/files/images/scraped(或其他)中。

注意:您可以使用file_directory_path获取文件路径。您还可以查看file handling api

答案 1 :(得分:0)

为什么你不把它放在drupal目录中?默认情况下,sites / default / files