php遍历多层级文件夹提取指定格式文件
时间:2020-01-07
本文章向大家介绍php遍历多层级文件夹提取指定格式文件,主要包括php遍历多层级文件夹提取指定格式文件使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
<?php /** * opendir() 函数打开一个目录句柄 * readdir() 函数返回由 opendir() 打开的目录句柄中的条目。 * is_dir() 函数检查指定的文件是否是目录。 * @param string $file 返回的文件条目 * @param string $format 需要提取的文件格式 * @param string $dir 文件的路径 * @param resource $handle 打开的文件目录句柄 */ function my_scandir($dir,$format) { $format_arr = explode(',',$format); //提取文件放到的目标路径(根目录下的文件格式前三个字符命名的文件夹) $new_dir = iconv("UTF-8", "GBK", $_SERVER['DOCUMENT_ROOT'].'/'.substr($format,0,3)); if (!file_exists($new_dir)){ mkdir ($new_dir,0777,true); } //检测是否存在文件 if (is_dir($dir)) { //打开目录 if ($handle = opendir($dir)) { //返回当前文件的条目 while (($file = readdir($handle)) !== false) { //去除特殊目录 if ($file != "." && $file != "..") { //判断子目录是否还存在子目录 if (is_dir($dir . "/" . $file)) { //递归调用本函数,再次获取目录 my_scandir($dir . "/" . $file,$format); } else { //判断文件格式 if(in_array(strtolower(pathinfo($file,PATHINFO_EXTENSION)),$format_arr)){ // if ($format == pathinfo($file,PATHINFO_EXTENSION)) { $i = ''; //判断新文件夹中是否已存在同名文件 do { $newFile=$new_dir.'/'.$i.$file; $i++; } while (file_exists($newFile)); echo $newFile.'<br>'; copy($dir."/".$file,$newFile); unlink($dir."/".$file); } } } } closedir($handle); } } } my_scandir("D:\zhifubao111",'avi,mov,rmvb,rm,flv,mp4,3gp'); //需要执行操作的路径,需要提取的文件格式(英文逗号隔开)
原文地址:https://www.cnblogs.com/zsw1126/p/12161301.html
- php概述
- php教程
- php环境搭建
- PHP书写格式
- php变量
- php常量
- PHP注释
- php数组
- php字符串 string
- PHP整型 integer
- PHP浮点型 float
- php布尔型
- php数据类型之数组
- php数据类型之对象
- php数据类型之null
- php数据类型之间的转换
- php运算符
- php表达式
- PHP循环控制
- PHP流程控制
- php函数
- php全局变量
- PHP魔术变量
- php命名空间
- php 日期
- PHP包含文件
- php文件
- PHP 文件上传
- php Cookies
- php Sessions
- php email
- php安全email
- php错误处理
- PHP异常处理
- php过滤器
- PHP 高级过滤器
- php json
- php 表单
- PHP MySQL 简介
- PHP 连接 MySQL
- php创建数据库
- php 创建表
- php mysq 插入数据
- PHP MySQL 插入多条数据
- PHP MySQL 预处理语句
- php mysql 读取数据
- php mysql where
- PHP MySQL Order By
- PHP MySQL Update
- PHP MySQL Delete
- php ODBC