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