前幾天工作中要做這樣一個功能,有八百多個系統 生成的會員;給這八百多個系統會員上傳圖片;然後把圖片名放入數據庫。
第一步肯定是首先把圖片上傳到對應的圖片目錄下,直接用框架中已經有的上傳類:
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。就這樣就搞定了。