2011-10-11 55 views
5

爲drupal編寫模塊,我試圖從模塊創建節點,一切都很好,我只有1個問題與創建圖像,圖像存在不同服務器,所以我想抓取頁面並插入它,我安裝模塊http://drupal.org/project/filefield_sources,它具有遠程選項,我在模塊代碼中搜索,我找不到他用於此過程的功能,模塊從界面工作非常好,但我如何讓它從代碼中完成這項工作?我應該調用哪個函數以及應該傳遞哪個參數。Drupal - 從url獲取圖像並將其導入節點

我在Drupal的6

回答

9

希望你使用Drupal的7 ...

system_retrieve_file() function會下載從遠程源文件,從臨時複製到指定的目的地和可選如果您希望對其進行管理,請將其保存到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

由於id列在Drupal 7.17中不存在,所以我必須將'SELECT MAX(id)'更改​​爲'SELECT MAX(fid)'到最後一個查詢: –

+0

@PatrickPeak好點,已經解決了 – Clive

4

得到FID使用$路徑 - > FID。不需要mysql