laravel 数据库里的图片重命名

现在有这样一个需求,需要把数据库里上传的文件全部重命名一个,使用如下方法可以快速处理

ini_set("max_execution_time", 0);
/*使用chunk分块处理数据*/
       DB::table(‘xxx‘)->orderby(‘id‘)->where(‘imageurl‘,‘<>‘,‘‘)->chunk(100,function($rows)
        {
           // $list=[];
            foreach ($rows as $row)
            {
                $fileInfo=pathinfo($row->imageurl);
                $newFileName=‘.‘.$fileInfo[‘dirname‘].‘/‘.$fileInfo[‘filename‘].time().‘.‘.$fileInfo[‘extension‘];
                echo ‘正在处理:‘.$newFileName.‘ id:‘.$row->id.‘<br/>‘;

                if(file_exists(‘.‘.$row->imageurl))
                {
                  rename(‘.‘.$row->imageurl,$newFileName);
                }
                echo var_dump([‘id‘=>$row->id,‘imageurl‘=>substr($newFileName,1)]);
                $content=ob_get_contents();
                sleep(1);
                DB::table(‘km‘)->where(‘id‘,$row->id)->update([‘imageurl‘=>substr($newFileName,1)]);

            }
          

        });

直接重命名某目录的文件

   $list=glob(./upload/content/20200413/*);
       foreach ($list as $row){
           $fileInfo=pathinfo($row);
           $newFileName=$fileInfo[dirname]./.$fileInfo[filename]._36...$fileInfo[extension];
           echo 正在处理:.$newFileName.<br/>;
           if(file_exists($row))
           {
               rename($row,$newFileName);
           }

       }

 

laravel 数据库里的图片重命名

上一篇:SQL Server变量声明、设置、使用、输出


下一篇:081-linux安装mysql时,为什么要使用mysql用户初始化mysql数据库?