php導入文件夾圖片保存到dedecms的方法

字號:


    本文實例講述了php導入文件夾圖片保存到dedecms的方法。分享給大家供大家參考。具體分析如下:
    數(shù)據(jù)庫連接這里就不介紹了,這里就是簡單的mysql連接,我們主要是看核心代碼,原理就是glob函數(shù)遍歷目錄,然后再利用foreach遍歷讀取一個個的文件名字再由相關(guān)函數(shù)處理之后返回給我們編譯好的sql語句再執(zhí)行三表操作即可.
    臨時寫的一個東西省時間而寫的,因為有幾千個產(chǎn)品帶大圖,所以我們寫了這么一個程序了,希望對各位有幫助.
    導入方法:http://localhost/a.php?typeid=你的id&path=你的目錄
    處理php文件,代碼如下:
    復制代碼代碼如下:$typeid = $_GET['typeid'];
    if( ! intval( $typeid ) )
    {
    echo '請傳值給typeid';
    exit;
    }
    $path = $_GET['path'];
    if( $path =="" )
    {
    echo '請傳值給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 '導入成功';
    print_r($array);
    之后碰到一個小問題,就是導入數(shù)據(jù)在欄目可以看到,但在所有數(shù)據(jù)中看不到記錄,生成時只有選擇欄目生成才可以但用一鍵生成有問題,這個時我在發(fā)布時間是固定一個以前的時間,對此大家可以使用time函數(shù)來獲取當前時間.
    希望本文所述對大家的dedecms建站有所幫助。