• 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();
                                 
     
                    }
  • 相关阅读:
    c语言写入开机启动项的时候,RegSetValueEx的返回值为0,但是发现注册表中没有设置的属性
    返回引用类型的函数指针(c++)
    c++的数据类型的引用(三种方式有一些区别)
    python中open函数在遇到中文路径的解决方法
    Java——流程控制语句——switch case 语句
    java——变量
    Java——数据类型转换:自动类型转换&强制类型转换
    java——循环控制语句——for——while——do……while——整理03
    java——循环控制语句——for——while——do……while——整理01
    java——运算符
  • 原文地址:https://www.cnblogs.com/jierong12/p/8677228.html
Copyright © 2020-2023  润新知