php批量上传图片并把图片名放入数据库

第一步肯定是首先把图片上传到对应的图片目录下,直接用框架中已经有的上传类:

  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();
                             
 
                 }

 

转载于:https://www.cnblogs.com/jierong12/p/8677228.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值