![php获取目录下的文件名_php显示文件目录及路径,第1张 php获取目录下的文件名_php显示文件目录及路径,第1张](/aiimages/php%E8%8E%B7%E5%8F%96%E7%9B%AE%E5%BD%95%E4%B8%8B%E7%9A%84%E6%96%87%E4%BB%B6%E5%90%8D_php%E6%98%BE%E7%A4%BA%E6%96%87%E4%BB%B6%E7%9B%AE%E5%BD%95%E5%8F%8A%E8%B7%AF%E5%BE%84.png)
php
获取目录下的
文件名_php显示文件目录及
路径
直接上代码,复制即用 protected $paths=[]; /** * @description: 获取文件路径 * @param {type} * @return: */ protected function getDir($path) { if (is_dir($path)) { $dir = scandir($path); foreach ($dir as $value) { $sub_path = $path . '/' . $value; if ($value == '.' || $value == '..') { continue; } else if (is_dir($sub_path)) { $this->getDir($sub_path); } else { $pathinfo=pathinfo($value); if(in_array($pathinfo['extension'],['jpg','png','gif','bmp','raw','jpeg'])){ //只获取符合后缀的文件 $str=str_replace('../public','',$path); //因个人需要获取相对路径所以去掉,不需要可以去掉 array_push($this->paths, $str."/{$value}"); } } } } }使用案例情景:替换原有小程序图片保存图片路径保存了小程序缓存图片路径,需要修正为正确服务器相对路径,数据量又很大,只能编写脚本修复数据 /** * @description:执行修复报名头像路径问题 * @param {type} * @return: */ public function imgUpdate() { try{ $this->paths = []; $this->getDir(request('path')); $paths=&$this->paths; $fileName=[]; foreach($paths as $k =>$path){ $pathinfo=pathinfo($path); $str=str_replace('.'.$pathinfo['extension'],'',$path); $fileName=explode('_',basename($str)); if(count($fileName)==3){ $res=Registration::where(['idcard'=>$fileName[0],'name'=>$fileName[1],'subject_name'=>$fileName[2]])->update(['exam_avatar'=>$path]); } } return response([ 'code'=>200, 'message'=>' *** 作成功' ]); }catch(Exception $e){ return response([ 'code'=>422, 'message'=>$e->getMessage() ],422); } // dd($fileName); return $this->success(''); } /** * @description: 获取文件路径 * @param {type} * @return: */ protected function getDir($path) { if (is_dir($path)) { $dir = scandir($path); foreach ($dir as $value) { $sub_path = $path . '/' . $value; if ($value == '.' || $value == '..') { continue; } else if (is_dir($sub_path)) { $this->getDir($sub_path); } else { $pathinfo=pathinfo($value); if(in_array($pathinfo['extension'],['jpg','png','gif','bmp','raw','jpeg'])){ //只获取符合后缀的文件 $str=str_replace('../public','',$path); //因个人需要获取相对路径所以去掉 array_push($this->paths, $str."/{$value}"); } } } } }
评论列表(0条)