Drupal - 从url获取图像并将其导入节点

时间:2011-10-11 16:11:25

标签: drupal drupal-files

我正在为drupal编写一个模块,我试图从我的模块创建一个节点,一切都很好,我只有1个问题,创建一个图像,图像存在于不同的服务器上,所以我想抓住页面并插入它,我安装模块http://drupal.org/project/filefield_sources,它有远程选项,我搜索模块代码,我找不到他用于这个过程的功能,模块从界面工作非常好,但我怎么做它做的代码工作?我应该调用哪个函数以及我应该传递什么参数。

我在Drupal 6上。

2 个答案:

答案 0 :(得分:10)

希望你正在使用Drupal 7 ......

system_retrieve_file() function将从远程源下载文件,将其从temp复制到指定目标,并可选择将其保存到file_managed表中,如果您希望对其进行管理。

$managed = TRUE; // Whether or not to create a Drupal file record
$path = system_retrieve_file($url, 'public://my_files/', $managed);

如果您想在完成此操作后立即获取文件对象,以下是我到目前为止找到的唯一方法:

$file = file_load(db_query('SELECT MAX(fid) FROM {file_managed}')->fetchField());

答案 1 :(得分:4)

使用$ path-> fid获取fid。不需要mysql