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 ...
随机推荐
- Private Variable
Any variable defined inside a function is considered private since it is inaccessable outside that f ...
- Tomcat 部署两个工程时,另一个访问出现404
tomcat下部署两个工程时,只有一个可以访问,另一个出现404错误,该如何解决 在开发新项目的时候,有时候为了省时,直接把曾经做过的项目工程A拷贝成改名为B工程,然后再在B工程上进行功能的开发, 此 ...
- 【ABAP系列】SAP ABAP获取域(domain)值的方法
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP获取域(doma ...
- LeetCode.937-重新排序日志数组(Reorder Log Files)
这是悦乐书的第358次更新,第385篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第220题(顺位题号是937).你有一系列日志.每个日志都是以空格分隔的单词串. 每个日 ...
- python基础及安装
一.python介绍 介绍 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,Guido开始写能够解释Python语言语法的解释器.Python这个名 ...
- 数据挖掘竞赛kaggle初战——泰坦尼克号生还预测
1.题目 这道题目的地址在https://www.kaggle.com/c/titanic,题目要求大致是给出一部分泰坦尼克号乘船人员的信息与最后生还情况,利用这些数据,使用机器学习的算法,来分析预测 ...
- 7.接入类流程-PRACH优化
PRACH优化 就是伪随机序列随机码(前导序列码).优化的目的就是减小码与码之间碰撞的 基站广播伪随机序列码(如64个),终端挑选一个发送.不同的用户使用同一个码就会产生碰撞.同频组网情况下,邻区的伪 ...
- jQ的toggle() 方法
语法:$(selector).toggle(speed,callback,switch) 实例: <script src="js/jquery.min.js">< ...
- DataGridViewCheckBoxColumn的Value值和EditFormatedValue值不一致
今天要做一个代码修改DataGridViewCheckBoxColumn的Value值然后再遍历获取DataGridview选中项,因为遍历的时候为了能获取跟界面一致的选项,所以判断是否选中使用的是E ...
- poj2773(欧基里德算法 或 二分+容斥)
题目链接:https://vjudge.net/problem/POJ-2773 题意:给定m,k,求与m互质的第k个数. 思路一:利用gcd(a,b)=gcd(b*t+a,b)知道,与m互质的数是以 ...