第一步肯定是首先把图片上传到对应的图片目录下,直接用框架中已经有的上传类:
try
{
$upload=
new
Upload();
$upload->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。
//获取目录所有文件并将结果保存到数组
foreach(glob(
"目录名/*"
) as $d){
$tmp=explode(
'.'
,$d);
$k=end($tmp);
//如果是文件,并且后缀名为jpg png的文件
if
(is_file($d)&&in_array($k,array(
'jpg'
,
'png'
))){
$files[]=str_replace(
'******目录名/'
,
''
,$d);
}
}
列出所有的图片后就该把图片文件名插入数据库了。
写个循环就可以了啊。
首先,用SELECT。。。。。。。。查出系统会员,然后计算出系统会员的个数,
//查出系统会员
$member= DB::query(Database::SELECT,
" SELECT * FROM 会员表名 WHERE 是否为系统会员 =1; "
)
--->execute()
->as_array();
for
($i=
0
;$i<count($files);$i++){
$data = array(
'图片字段'
=--> $files[$i],
);
DB::update(
'会员表'
)
->set($data)
->where(
'系统会员ID'
,
'='
, $member[$i][
'系统会员ID'
])
->execute();
}