當前位置:編程學習大全網 - 遊戲軟體 - drupal7怎麽批量導入數據

drupal7怎麽批量導入數據

本文實例講述了drupal導入數據的實現方法。分享給大家供大家參考。具體實現方法如下:

壹、問題:

最近壹個項目是用drupal實現的。最後,面臨壹些書的數據的導入。找了些drupal的模塊,不太好用。 最後的方法是創建壹個基本頁面,PHP

Code導入數據。

二、解決方法:

首先在源數據那頭,把數據通過JSON方式發布出來,在這個代碼裏,通過HTTP獲取數據,並用JSON解碼。得到數據以後, 生成drupal的node,用

node_save 保存到drupal裏。 這種方法有安全性的問題,所以在不使用的時候,記得加止阻止代碼執行的語句。

頁面代碼如下:

復制代碼

代碼如下:

<scriptlanguage="javascript">

functionimportConfirm(){

if(confirm("確認信息")){

document.location="/<?phpechocurrent_path()?>/import";

}

}

</script></p> <p><?php

if(arg(2)=="import")

{

//獲取數據源的內容

$result=drupal_http_request("url");

if($result->code==200){

//JSON數據源解碼

$books=json_decode(trim($result->data));

foreach($books as $book) {

foreach($bookas$k=>$v){

//原數據是base64編碼的,這裏解碼,並轉換成utf8編碼

$book->$k=mb_convert_encoding(base64_decode($v),"UTF8","GB2312");

}

$node=newstdClass();

$node->type='ct_tushu';

//內容類型

$node->uid=1;

$node->status=1;

$node->language="zh-hans";

$node->created=date("Y-m-dH:i:s");

$node->field_tushuauthor_multi=array('und'=>array(

array("value"=>($book->author)) ));

$node->title=($book->title);

$node->field_tushuisbn=array("und"=>array(

array("value"=>($book->isbn)) ));

node_save($node);

}

}

}

> </p> <p><a

href="javascript:importConfirm()">導入書</a>

希望本文所述對大家的drupal程序設計有所幫助。

  • 上一篇:單挑怎麽造句
  • 下一篇:龍吐珠到底是壹種怎樣的魚?
  • copyright 2024編程學習大全網