文件操作函数:目录的基本操作
来源:互联网 发布:淘宝刷单处罚新规则 编辑:程序博客网 时间:2024/05/17 22:05
<?php
/**
*文件操作函数:目录的基本操作
*/
// 1.basename()返回路径中的文件名部分
$path='./var/www/html/demo.php';
echo basename($path); // 输出demo.php
echo basename($path,".php"); // 输出demo
// 2.dirname()返回去掉文件名的目录部分
echo dirname($path); // 输出./var/www/html
echo "<hr/>";
// 3.pathinfo()返回一个关联数组(dirname,basename.extension 目录名,基本名,扩展名)
$path2="./demo2.php";
$info=pathinfo($path2);
echo $info['dirname'].'<br/>';
echo $info['basename'].'<br/>';
echo $info['extension'];
echo "<hr/>";
// 4.遍历文件目录
// opendir() 打开指定目录
// readdir() 读取指定内容
// closedir() 关闭指定目录
// rewinddir() 倒回目录句柄
$num=0; // 统计字目录和文件个数
$dirname='../../basic';
$dir_handle=opendir($dirname);
// 输出遍历结果
while($file=readdir($dir_handle)){
$dirFile=$dirname."/".$file;
echo "文件名:".$file.' ';
echo "文件大小:".filesize($dirFile).' ';
echo "文件类型:".filetype($dirFile).' ';
echo "文件修改时间".date("Y/n/t",filemtime($dirFile)).'<br/>';
$num++;
}
closedir($dir_handle);
echo "文件总个数:".$num;
echo "<hr/>";
// 5.统计目录大小
function dirSize($diretory){
$dir_size=0; // 记录定义目录大小的变量并初始化为0
if($dir_handle=opendir($diretory)){ // 打开目录
while($filename=readdir($dir_handle)){ // 读取目录
if($filename!="."&&$filename!=".."){
$subFile=$diretory."/".$filename;
if(is_dir($subFile)){ // 判断是否是目录
$dir_size+=dirSize($subFile); // 递归
}elseif(is_file($subFile)){ // 判断是否是文件
$dir_size+=filesize($subFile); // 文件大小
}
}
}
closedir($dir_handle);
return $dir_size;
}
}
$dir_size=dirSize("../../basic");
echo round($dir_size/pow(1024,1),2)."KB";
echo "<hr/>";
// 6.建立和删除目录
function delDir($directory){
if(file_exists($diretory)){
if($dir_handle=opendir($directory)){
while($filename=readdir($dir_handle)){
if($filename!="."&&$filename!=".."){
$subFile=$directory."/".$filename;
if(is_dir($subFile)){
delDir($subFile);
}elseif(is_file($subFile)){
unlink($subFile); // 删除这个文件
}
}
}
closedir($dir_handle);
rmdir($directory); // 删除空目录
}
}
}
delDir("../../basic");
echo "<hr/>";
// 7.复制目录
function copyDir($dirSrc,$dirTo){
if(is_file($dirTo)){
echo "目标不是目录,不能创建";
return;
}
if(!file_exists($dirTo)){
mkdir($dirTo); // 创建目标目录
}
if($dir_handle=opendir($dirSrc)){
while($filename=readdir($dir_handle)){
if($filename!="."&&$filename!=".."){
$subSrcFile=$dirSrc ."/".$filename;
$subToFile=$dirTo ."/".$filename;
if(is_dir($subSrcFile)){
copyDir($subSrcFile,$subToFile);
}
if(is_file($subSrcFile)){
copy($subSrcFile,$subToFile);
}
}
}
closedir($dir_handle);
}
}
copyDir("../../PHParticle/001","./");
/**
*文件操作函数:目录的基本操作
*/
// 1.basename()返回路径中的文件名部分
$path='./var/www/html/demo.php';
echo basename($path); // 输出demo.php
echo basename($path,".php"); // 输出demo
// 2.dirname()返回去掉文件名的目录部分
echo dirname($path); // 输出./var/www/html
echo "<hr/>";
// 3.pathinfo()返回一个关联数组(dirname,basename.extension 目录名,基本名,扩展名)
$path2="./demo2.php";
$info=pathinfo($path2);
echo $info['dirname'].'<br/>';
echo $info['basename'].'<br/>';
echo $info['extension'];
echo "<hr/>";
// 4.遍历文件目录
// opendir() 打开指定目录
// readdir() 读取指定内容
// closedir() 关闭指定目录
// rewinddir() 倒回目录句柄
$num=0; // 统计字目录和文件个数
$dirname='../../basic';
$dir_handle=opendir($dirname);
// 输出遍历结果
while($file=readdir($dir_handle)){
$dirFile=$dirname."/".$file;
echo "文件名:".$file.' ';
echo "文件大小:".filesize($dirFile).' ';
echo "文件类型:".filetype($dirFile).' ';
echo "文件修改时间".date("Y/n/t",filemtime($dirFile)).'<br/>';
$num++;
}
closedir($dir_handle);
echo "文件总个数:".$num;
echo "<hr/>";
// 5.统计目录大小
function dirSize($diretory){
$dir_size=0; // 记录定义目录大小的变量并初始化为0
if($dir_handle=opendir($diretory)){ // 打开目录
while($filename=readdir($dir_handle)){ // 读取目录
if($filename!="."&&$filename!=".."){
$subFile=$diretory."/".$filename;
if(is_dir($subFile)){ // 判断是否是目录
$dir_size+=dirSize($subFile); // 递归
}elseif(is_file($subFile)){ // 判断是否是文件
$dir_size+=filesize($subFile); // 文件大小
}
}
}
closedir($dir_handle);
return $dir_size;
}
}
$dir_size=dirSize("../../basic");
echo round($dir_size/pow(1024,1),2)."KB";
echo "<hr/>";
// 6.建立和删除目录
function delDir($directory){
if(file_exists($diretory)){
if($dir_handle=opendir($directory)){
while($filename=readdir($dir_handle)){
if($filename!="."&&$filename!=".."){
$subFile=$directory."/".$filename;
if(is_dir($subFile)){
delDir($subFile);
}elseif(is_file($subFile)){
unlink($subFile); // 删除这个文件
}
}
}
closedir($dir_handle);
rmdir($directory); // 删除空目录
}
}
}
delDir("../../basic");
echo "<hr/>";
// 7.复制目录
function copyDir($dirSrc,$dirTo){
if(is_file($dirTo)){
echo "目标不是目录,不能创建";
return;
}
if(!file_exists($dirTo)){
mkdir($dirTo); // 创建目标目录
}
if($dir_handle=opendir($dirSrc)){
while($filename=readdir($dir_handle)){
if($filename!="."&&$filename!=".."){
$subSrcFile=$dirSrc ."/".$filename;
$subToFile=$dirTo ."/".$filename;
if(is_dir($subSrcFile)){
copyDir($subSrcFile,$subToFile);
}
if(is_file($subSrcFile)){
copy($subSrcFile,$subToFile);
}
}
}
closedir($dir_handle);
}
}
copyDir("../../PHParticle/001","./");
0 0
- 文件操作函数:目录的基本操作
- 文件操作的基本函数
- linux 文件及目录的基本操作
- 文件与目录操作的基本命令
- C# 文件与目录的基本操作
- 文件和目录的基本操作
- 目录及文件的基本操作
- 文件目录操作函数
- 文件目录操作函数
- 目录的基本操作
- python操作目录、文件相关的函数
- linux文件和目录的操作函数
- python常用的文件目录操作函数
- 文件和目录操作函数
- 文件与目录操作函数
- php文件目录操作函数
- Windows文件、目录操作函数
- 目录文件的操作
- hdu 1012 u Calculate e
- [2017-03-04]Cannot make a static reference to the non-static method.....
- PAT--ZigZagging on a Tree (30)
- 程序优化
- Java 给飞秋发送消息
- 文件操作函数:目录的基本操作
- 小程序开发https官方推荐解决方案
- 回文素数
- oracle cursor and exception
- Java中的基础----堆与栈的介绍、区别
- Json与javaBean之间的转换工具类
- 深入理解Node系列-细说Connect(上)
- Java.utils.concurrent包中的几个有用的类(CountDownLatch、CyclicBarrier、Semaphore)
- Netty学习之旅------源码分析Netty解码编码器实现原理