前几天工作中要做这样一个功能,有八百多个系统 生成的会员;给这八百多个系统会员上传图片;然后把图片名放入数据库。
  第一步:
  第一步肯定是首先把图片上传到对应的图片目录下,直接用框架中已经有的上传类:
  <?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() 函数返回匹配指定模式的文件名或目录 www.yztrans.com
  该函数返回一个包含有匹配文件 / 目录的数组。如果出错返回 false.
  <?php
  //获取目录所有文件并将结果保存到数组
  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);
  }
  }
  ?>
  循环过程中因为我只想得到图片名称,所以我把前面的目录替换为空。
  第三步:
  列出所有的图片后就该把图片文件名插入数据库了。
  写个循环就可以了 www.tygj123.com
  首先,用SELECT……查出系统会员,然后计算出系统会员的个数,
  <?php
  //查出系统会员
  $member= DB::query(Database::SELECT,
  " SELECT * FROM 会员表名 WHERE 是否为系统会员 =1; ")
  ->execute()
  ->as_array();
  ?>
  然后再循环插入数据库:
  <?php
  for($i=0;$i<count($files);$i++){
  $data = array(
  '图片字段' => $files[$i],
  );
  DB::update('会员表')
  ->set($data)
  ->where('系统会员ID', '=', $member[$i]['系统会员ID'])
  ->execute();
  }
  ?>
  OK.就这样就搞定了。

php批量上传图片并把图片名放入数据库的更多相关文章

  1. .NET采集数据,放入数据库总结

    第一次做采集Json的还简单一些但是XML的简直了......... JSON //采集数据 public string GetBetRecordToRepository()//随便你返回什么 { t ...

  2. uniapp上传图片后台返回url后放入image中图片不显示问题

    原因:后台返回路径问题后台返回地址斜杠为 \ 我们需要的是 /  如下后台返回的地址导致转义了 修改后可以显示

  3. ecshop编辑器FCKeditor修改成KindEditor编辑批量上传图片

    ecshop一直使用的编辑器是fck,这个不用多说,相信很多朋友用的很悲剧吧,特别是图片不能批量上传图片.     今天小编就分享一下怎么换掉fck,放上实用的kindeditor,最新ecshop版 ...

  4. ASP.net(C#)批量上传图片(完整版)

    摘自:http://www.biye5u.com/article/netsite/ASPNET/2010/1996.html   这篇关于ASP.Net批量上传图片的文章写得非常好,偶尔在网上看到想转 ...

  5. CkEditor批量上传图片(java)

    CKEditor上传视频CKEditor批量上传图片flvplayer.swf播放器CKEditor整合包(v4.6.1) ------------------------------------ 最 ...

  6. django rest framework批量上传图片及导入字段

    一.项目需求 批量上传图片,然后批量导入(使用excel)每个图片对应的属性(属性共十个,即对应十个字段,其中外键三个). 二.问题 一次可能上传成百上千张图片和对应字段,原来数据库的设计我将图片和对 ...

  7. 批量上传图片(jQuery-File-Upload使用)

    jQuery-File-Upload jQuery-File-Upload是一个jquery下的ajax文件上传插件,支持批量上传,github地址:https://github.com/blueim ...

  8. 个人永久性免费-Excel催化剂功能第102波-批量上传本地图片至网络图床(外网可访问)

    自我突破,在100+功能后,再做有质量的功能,非常不易,相对录制视频这些轻松活,还是按捺不住去写代码,此功能虽小,但功课也做了不少,希望对真正有需要的群体带来一些惊喜. 背景介绍 图床的使用,一般是写 ...

  9. angular批量上传图片并进行校验

    最近做一个项目,有一个批量上传图片,并校验是否是图片和上传最大数量的需求.下面分享一下我的想法,欢迎大神探讨. 首先是在html中支持批量上传和接收图片(mac下设置了之后不存在类型校验),下面上ht ...

随机推荐

  1. Understanding the Android Life Cycle

    Problem Android apps do not have a “main” method; you need to learn how they get started and how the ...

  2. selenium webdriver python 操作浏览器

    新建driver driver=webdriver.Firefox() driver=webdriver.Ie() driver=webdriver.Chrome()   打开一个链接 driver. ...

  3. JS验证手机号码

    对于表单的验证是添加信息的时候必不可少的. 下面是基于EasyUI-validatebox拓展的对手机.座机号的验证方法. PhoneAndMobile: { validator: function ...

  4. Node.js初体验

    1.Node.js是什么 [1]Node是一个server端 JavaScript 解释器,但是真的以为JavaScript不错的同学学习Node就能轻松拿下,那么你就错了.总结:水深不深我还不知道, ...

  5. Install Oracle 10g on Red Hat Linux 5.3 Step by Step

    一.虚拟机配置 1. 虚拟机(VBox 4.3.12) 2. 配置虚拟机网卡网络.选择host-only.VirtualBox Host-Only Network网卡IP为设置为192.168.1.1 ...

  6. CVE-2014-0196(马拉松赛跑bug)

    /* * CVE-2014-0196: Linux kernel <= v3.15-rc4: raw mode PTY local echo race * condition * * Sligh ...

  7. [转] java Class类

    Class类(在java.lang包中,Instances of the class Classrepresent classes and interfaces in a running Javaap ...

  8. Scala学习笔记之:tuple、array、Map

    [TOC] 本文<快学Scala>的笔记 tuple学习笔记 tuple的定义 对偶是元组(tuple)的最简单形态--元组是不同类型的值的聚集. 元组的值是通过将单个值包含在圆括号中构成 ...

  9. Java基础知识强化90:Date类之Data类中日期和毫秒相互转换

    1.Date两个方法: public long getTime():获取时间,以毫秒为单位 public void setTime(long time):设置时间 2. 代码示例: package c ...

  10. java中Class.forName与new

    一.使用Class.forName 1.装载类 Class clazz = Class.forName("xx.xx.xx"); 2.初始化对象 clazz.newInstance ...