码迷,mamicode.com
首页 > 其他好文 > 详细

根据目录名将某个指定目录下的所有文件名以一定的规则插入到一个表中

时间:2016-12-02 16:13:38      阅读:155      评论:0      收藏:0      [点我收藏+]

标签:exp   str   sub   for   name   foreach   array   名称   app   

  最近项目遇到一个需求,就是把某个目录的所有文件的名称以一定的规则插入到一个表中,首先来看下badge表结构:

  技术分享

  目录名称为‘Picture/Badge/‘,文件的命名也是以一定的规则来命名的,例如: balldate_1_1_sl.png,match_1_10_1_1_gr.png,apply_1_50_sl.png,,,如果把balldate_1_1插入到

   badge表,那么type=1,first_index=1,second_index=1,path=‘Picture/Badge/balldate_1_1_sl.png‘;

  1.获取这个目录下的所有文件的名称,

    $file_names = scandir(public_path(‘/Picture/Badge‘));

    unset($file_names[0],$file_name2[1]);(因为$file_names目录下的前2个目录是.和..文件)

    $data_array = array();

    foreach($file_names as $key => $file_name){

      $new_file = substr($file_name,0,strrpos($file_names,‘.‘);//去掉balldate_1_1.png的后缀.png

      $explode_data = explode(‘_‘,$new_file);  //将

      $data[‘type‘] = $explode_data[0];

      $data[‘first_index‘] = $explode_data[1];

      $data[‘second_index‘] = $explode_data[2];

      $data[‘is_highlight‘] = $explode_data[3] == ‘sl‘ ? 1 : 0;

      $data[‘path‘] = sprintf(‘/Upload/Picture/Badge/%s‘,$file_name);

      $data_array[] = $data;

    }

    DB::table(‘badge‘)->insert($data_array);

 

 

    

根据目录名将某个指定目录下的所有文件名以一定的规则插入到一个表中

标签:exp   str   sub   for   name   foreach   array   名称   app   

原文地址:http://www.cnblogs.com/maoaji/p/6126115.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!