php目录函数操作,以及使用递归
- opendir
- 找到对应的目录
- 将目录中所有文件全部读入到内存(包含子文件夹下的所有文件)
- 将目录指针指向第一个文件
- readdir
- 读取当前指针所指向的文件的文件名
- 2.将目录指针向下移动一位
- chdir
- 改变当前操作目录,代表进入到目标目录
$masterdir = "C:\\Program Files";
function openmydirs($masterdir)
{
if (is_dir($masterdir))
{
$o = opendir($masterdir);
while($saiwa = readdir($o))
{
if ($saiwa=="." or $saiwa=="..")
{
continue;
}
$wholepath = $masterdir."\\".$saiwa;
//这行代码如此重要,因为我们必须拼接出一个完整的路径,才能在下面调用is_dir,chdir等和目录操作有关的函数if(count($myarray)==3)
{
echo substr($myarray[2],0,2).":"."\n";
} if (is_dir($wholepath))
{
chdir($wholepath);
openmydirs($wholepath);
}
echo $wholepath."\n";
}
}
}
<?php
/**
* Created by PhpStorm.
* User: Administrator
* Date: 2018/12/19 0019
* Time: 上午 1:22
*/
$masterdir = "D:\\2,PHP高级核心";
echo strpos($masterdir,"\\",3)."\n";
$storepath = "E:\\mycourse.txt";
$fetarray = array();
function openmydirs($masterdir,$handle)
{
global $fetarray;
if (is_dir($masterdir))
{
$o = opendir($masterdir);
while($saiwa = readdir($o))
{
if ($saiwa=="." or $saiwa=="..")
{
continue;
}
$wholepath = $masterdir."\\".$saiwa;
$myarray = explode("\\",$wholepath);
if(count($myarray)==3)
{
fwrite($handle,substr($myarray[2],0,2).":"."\r\n") ;
} if (is_dir($wholepath))
{
chdir($wholepath);
openmydirs($wholepath,$handle);
}
if (is_file($wholepath))
{
if(strrpos($wholepath,".wmv")>0)
{
fwrite($handle,substr($wholepath,strrpos($wholepath,"\\")+1,strrpos($wholepath,".wmv"))."\r\n") ;
} }
//echo $wholepath."\n";
}
}
}
//$myarray=openmydirs($masterdir);
$handle = fopen($storepath,'a');
openmydirs($masterdir,$handle);
fclose($handle);
?>
php目录函数操作,以及使用递归的更多相关文章
- Linux下文件及目录的一些操作(附递归遍历目录源码)
1.获取当前工作目录 #include <unistd.h> 1.char *getcwd(char *buf,size_t size); 2. 3.其中,buf为缓冲区地址,size为给 ...
- linux 文件名称前后缀操作函数----取目录函数dir、取文件名称函数notdir、取后缀函数suffix、取前缀basename、加后缀函数addsuffix、加前缀addprefix、连接函数join
1.1 文件名操作函数 下面我们要介绍的函数主要是处理文件名的.每个函数的参数字符串都会被当做一个或是一系列的文件名来对待. 1.1.1 取目录函数dir $(dir < ...
- Objective-C:Objective-C:文件中一些对目录进行操作的函数
IO文件中,一些对目录进行操作的函数:获取.切分.组合 一些对目录进行操作的函数: 获取用户的姓名:(NSString*)NSUserName() ; ———>NSString *Str ...
- PHP中目录的操作
文件的操作:创建文件,删除文件,重命名文件rename(),移动/复制文件,读取,大小(PHP都有内置的函数) 目录的操作:创建目录(有),删除目录,复制目录,统计目录大小,遍历(自己定义函数) 一. ...
- 利用目录函数(opendir,readdir,closedir)查找文件个数
如何知道一个目录下的所有文件个数呢?或许可以用tree来学(zhuang)习(bi)的同时知道文件个数.Linux系统io函数为我们提供了目录操作函数,其中有一个比较重要(实际上有三个,因为它们经常配 ...
- C语言中关于对目录的操作
原文地址:C语言中关于对目录的操作 目录的操作不论是在嵌入式产品还是应用软件编程都是必不可少的,不同的开发语言可能略有不同,笔者主要是讨论在Linux平台下对目录的一系列操作: 1.获取当前目录操作: ...
- path类和directory类对文件的路径或目录进行操作
Path: 对文件或目录的路径进行操作(很方便)[只是对字符串的操作] 1.目录和文件操作的命名控件System.IO 2.string Path.ChangeExtension(string ...
- linux指令(目录类操作指令)
pwd 显示当前所在的工作目录 cd 目标目录 例如cd /boot/grub 从当前目录切换到某个目录 cd 切换到根目录 cd.. 切换到当前目录的上层目录 ls 显示当前目录下的内容 ...
- php目录函数
1.创建 mkdir()mkdir(目录地址,权限模式,是否递归创建)默认不支持递归创建,用第三个参数true表示递归创建 <?php header("content-type:tex ...
随机推荐
- JSP指令标签、动作标签
JSP有三大指令: * page指令 * include指令 * taglib指令 在JSP中没有任何指令是必须的!!! 但基本上每个JSP都是使用page指令! page指令 page ...
- 【HANA系列】SAP HANA跟我学HANA系列之创建计算视图一
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[HANA系列]SAP HANA跟我学HANA系 ...
- Cocos2d-X多线程(3) cocos2dx中的线程安全
在使用多线程时,总会遇到线程安全的问题.cocos2dx 3.0系列中新加入了一个专门处理线程安全的函数performFunctionInCocosThread(),他是Scheduler类的一个成员 ...
- LeetCode.937-重新排序日志数组(Reorder Log Files)
这是悦乐书的第358次更新,第385篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第220题(顺位题号是937).你有一系列日志.每个日志都是以空格分隔的单词串. 每个日 ...
- maven的各种异常
1. 问题 本文将讨论Spring中最常见的配置问题 —— Spring的一个命名空间的名称空间处理程序没有找到. 大多数情况下,是由于一个特定的Spring的jar没有配置在classpath下,让 ...
- 数据库SQL语句查询指定时间段内的数据
[摘要]有的时候,我们需要查询数据库某段时间之间的数据,比如2016年5月1号到到5月3号之间用户注册数量(特殊节假日期间)等.那么用SQL语句如何实现呢? 首先,数据表中的存时间的字段比如是addt ...
- (5.1.5)引擎管理——多服务器管理之中央管理服务器(CMS)
关键词:中央管理服务器,CMS,多服务器管理 中央管理服务器 -[1]打开 视图->已注册的服务器 [2]注册中央管理服务器 右击中央管理器->注册中央管理服务器 这里输入IP.主机名都可 ...
- 来自 Vue 3.0 的 Composition API 尝鲜
来自 Vue 3.0 的 Composition API 尝鲜:https://segmentfault.com/a/1190000020205747
- 即时通讯IM
即时通讯(Instant Messaging,后简称im)消息的可靠投递 一.报文类型 im的客户端与服务器通过发送报文(也就是网络包)来完成消息的传递 报文分为: 请求报文(request,后简称为 ...
- java实现整数计算器
计算器代码 package stack; import java.util.ArrayList; import java.util.List; import java.util.Scanner; im ...