本文實(shí)例講述了php導(dǎo)入文件夾圖片保存到dedecms的方法。分享給大家供大家參考。具體分析如下:
數(shù)據(jù)庫(kù)連接這里就不介紹了,這里就是簡(jiǎn)單的mysql連接,我們主要是看核心代碼,原理就是glob函數(shù)遍歷目錄,然后再利用foreach遍歷讀取一個(gè)個(gè)的文件名字再由相關(guān)函數(shù)處理之后返回給我們編譯好的sql語(yǔ)句再執(zhí)行三表操作即可.
臨時(shí)寫(xiě)的一個(gè)東西省時(shí)間而寫(xiě)的,因?yàn)橛袔浊€(gè)產(chǎn)品帶大圖,所以我們寫(xiě)了這么一個(gè)程序了,希望對(duì)各位有幫助.
導(dǎo)入方法:http://localhost/a.php?typeid=你的id&path=你的目錄
處理php文件,代碼如下:
復(fù)制代碼代碼如下:$typeid = $_GET['typeid'];
if( ! intval( $typeid ) )
{
echo '請(qǐng)傳值給typeid';
exit;
}
$path = $_GET['path'];
if( $path =="" )
{
echo '請(qǐng)傳值給path ,如 a/b/c/';
exit;
} </p> <p>function getfile($path)
{
$dirs = array();
foreach(glob("$path*") as $d)
{
$tmp = explode('.',$d);
$k = end($tmp);
if(is_file($d) && ( $k=='jpg' || $k =='gif' || $k=='png'))
{
$dirs[] = $d;
}
}
return $dirs;
}
$array = getfile($path);
foreach( $array as $v => $vv )
{
//取名字
$t_name = explode( '/',$vv ); ;
$tV = end($t_name);
list($name,$ext) = explode('.',$tV);
$sql ="INSERT INTO `dedecms_archives` (`typeid`, `typeid2`, `sortrank`, `flag`, `ismake`, `channel`, `arcrank`, `click`, `money`, `title`, `shorttitle`, `color`, `writer`, `source`, `litpic`, `pubdate`, `senddate`, `mid`, `keywords`, `lastpost`, `scores`, `goodpost`, `badpost`, `voteid`, `notpost`, `description`, `filename`, `dutyadmin`, `tackid`, `mtype`, `weight`) VALUES
($typeid, '0', 1394943742, 'c,p', 1, 17, 0, 156, 0, '$name', 'S".$typeid.mt_rand(0,99999)."', '', 'admin', '未知', '/$vv', 1394943742, 1394943720, 1, '$name', 0, 0, 0, 0, 0, 0, '', '', 1, 0, 0, 11)";
mysql_query( $sql ) or die( mysql_error().$sql );
$aid= mysql_insert_id();
$sql2 ="INSERT INTO `dedecms_addonarticle17` (`aid`, `typeid`, `body`, `redirecturl`, `templet`, `userip`, `s_type`) VALUES
($aid, $typeid, '<img src=/".str_replace('231','600',$vv)." />', '', '', '192.168.1.108', 'S12000".$name."')";
mysql_query( $sql2 ) or die( mysql_error().$sql2 );
$sql3 ="INSERT INTO `dedecms_arctiny` (`id`, `typeid`, `typeid2`, `arcrank`, `channel`, `senddate`, `sortrank`, `mid`) VALUES
($aid, $typeid, '0', 0, 17, 1394943720, 1394943742, 1)";
mysql_query( $sql3 ) or die( mysql_error().$sql3 );
}
echo '導(dǎo)入成功';
print_r($array);
之后碰到一個(gè)小問(wèn)題,就是導(dǎo)入數(shù)據(jù)在欄目可以看到,但在所有數(shù)據(jù)中看不到記錄,生成時(shí)只有選擇欄目生成才可以但用一鍵生成有問(wèn)題,這個(gè)時(shí)我在發(fā)布時(shí)間是固定一個(gè)以前的時(shí)間,對(duì)此大家可以使用time函數(shù)來(lái)獲取當(dāng)前時(shí)間.
希望本文所述對(duì)大家的dedecms建站有所幫助。
更多信息請(qǐng)查看IT技術(shù)專(zhuān)欄