博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PHP之目录的操作
阅读量:4290 次
发布时间:2019-05-27

本文共 1649 字,大约阅读时间需要 5 分钟。

==============目录的操作=================

创建目录:mkdir(目录地址,权限,是否递归创建);----在Linux中权限要写,在Windows中可以省略

删除目录

移动(改名)

获取目录内容(文件)

1.打开目录:

文件名为0 的问题

3.关闭目录

closedir(目录句柄)

//数状展示递归

//目录地址
function readDirs($path,$deep=0){
$dir_handle=opendir($path);
while(false!==$file=readdir($dir_handle)){
if($file=='.'||$file=='..')continue;
echo str_repeat('&nbsp', $deep*4),$file,'<br>';
if(is_dir($path.'/'.$file)){
//是目录
readdir($path.'/'.$file,$deep+1);
}
}
closedir($dir_handle);
}
//嵌套展示数据
function readDirsNested($path){
$nested=array();//存储当前目录下的所有文件
$dir_handle=opendir($path);
while(false!==$file=readdir($dir_handle)){
if($file=='.'||$file=='..')continue;
//创建当前文件信息
$fileinfo=array();
$fileinfo['name']=$file;
if(is_dir($path.'/'.$file)){
//是目录
$fileinfo['type']='dir';
$func_name=__FUNCTION__;
$fileinfo['nested']=$func_name($path.'/'.$file);
}else{
//是文件
$fileinfo['type']='file';
}
//存储到$nested中
$nested[]=$fileinfo;
}
closedir($dir_handle);
return $nested;
}
$list=readDirsNested($path);
//遍历
foreach($list as $first){
if($first['typ']=='file')continue;
foreach($first['nested'] as$second){
echo '&nbsp;',$second['name'],'<br>';
}
}

==============递归删除=======

unlink(文件地址);删除文件

//递归删除

function rmDirs($path,$deep=0){
$dir_handle=opendir($path);
while(false!==$file=readdir($dir_handle)){
if($file=='.'||$file=='..')continue;
if(is_dir($path.'/'.$file)){
//是目录
$func_name=__FUNCTION__;当前方法名
$fun_name($path.'/'.$file);
}else {
unlink($path.'/'.file);
}
}
closedir($dir_handle);
return rmdir($path);
}

====地址中的字符集的问题====

转换的是读取到的字符串,不是文件的编码

iconv('gbk','utf-8',文件);-----吧gbk转换成utf-8----将操作系统的编码转换成响应编码;

当带有中文字符串当一个地址的时候,就需要转换成gbk;当在页面上输出从磁盘上读取的文件名的时候,就需要转换成utf8

你可能感兴趣的文章
Android中的ALERTDIALOG使用_优就业
查看>>
java使用javacsv读取csv文件 导入Mysql数据库
查看>>
Toolbar 不为人知的助手,ActionMenuView
查看>>
Java回调方法详解
查看>>
如何获取url中的参数并传递给iframe中的报表
查看>>
以前端架构师的思想看问题:解决单页应用,系统角色请求抢占session发送请求问题
查看>>
jsessionid问题解决方案
查看>>
MySQL和Oracle的delete,truncate
查看>>
idea使用心得(2)-安装设置与创建web项目
查看>>
将项目放到服务器tomcat上运行
查看>>
JS几种变量交换方式以及性能分析对比
查看>>
Android面试一天一题(6)——如何进行技术选型
查看>>
Velocity笔记--使用Velocity获取动态Web项目名的问题
查看>>
安卓学习:如何将一个Activity设置成窗口的样式
查看>>
Android: 自定义 View
查看>>
MySQL-99语法:外连接与内连接-(左内连接多表和查询)
查看>>
Struts2之Struts2-2.5.5 Interceptor
查看>>
Java基础-21总结字符流,IO流编码问题,实用案例
查看>>
Zookeeper请求处理
查看>>
当Java遇见了Html--Jsp……
查看>>