前幾天工作中要做這樣一個功能,有八百多個系統 生成的會員;給這八百多個系統會員上傳圖片;然後把圖片名放入數據庫。
第一步肯定是首先把圖片上傳到對應的圖片目錄下,直接用框架中已經有的上傳類:
set_ext(array('zip'));
$path='目錄名';
if ( ! Io::mkdir($path)) // 創建目錄
{
throw new Exception("無法創建文件上傳目錄:$path");
}
$upload->set_path($path);
if(!$upload->is_allow_ext($_FILES['files']['name']))
{
$this->show_message('必須zip格式數據', '0', NULL, TRUE);
}
$result=$upload->save($_FILES['files']);
$archive = new Archive_Zip();
$archive->set_target($path)->decompress($result['file']);
unlink($result['file']);//刪除使用後的zip;
$this->show_message('導入成功', '1', array(array('text'=>'返回導入頁面','href'=>'***跳轉的鏈接地址***')),TRUE);
}catch(Exception $e){
$this->show_message('圖片導入失敗', '0', NULL, TRUE);
}
}
?>圖片上傳完成後,就應該把目錄下所有的系統會員圖片名稱取出來,那就得用遍歷了。想想也不用那麼麻煩了,php自帶函數glob();
glob() 函數返回匹配指定模式的文件名或目錄。
該函數返回一個包含有匹配文件 / 目錄的數組。如果出錯返回 false。
列出所有的圖片後就該把圖片文件名插入數據庫了。
寫個循環就可以了啊。
首先,用SELECT。。。。。。。。查出系統會員,然後計算出系統會員的個數,
execute() ->as_array(); ?>
然後再循環插入數據庫:
$files[$i],
);
DB::update('會員表')
->set($data)
->where('系統會員ID', '=', $member[$i]['系統會員ID'])
->execute();
}
?>OK。就這樣就搞定了。