php 目录操作

时间:2023-03-09 13:04:56
php 目录操作

1.打开文件:

opendir("文件名称");

2.读取文件:
readdir("文件名称");

<?php
$dirname="phpMyAdmin";
/*判断文件是否存在*/
if(file_exists($dirname)){
if(is_dir($dirname)){
$dir=opendir($dirname);
while($filename=readdir($dir)){
$file=$dirname."/".$filename;
if($filename!='.' && $filename!='..'){
if(is_dir($file)){
echo "<strong style='color:red'>".$filename.".......".GetFileSize(filesize($file))."..........".date("Y-m-d H:i:s",filectime($file))."......".filetype($file)."...............".GetFileSize(dirsize($file)).".......</strong><br>";
}else{
echo $filename."......".GetFileSize(filesize($file)).".......".date("Y-m-d H:i:s",filectime($file)).".....".filetype($file)."............................<br>";
}
}
}
}else{
echo "不是目录";
exit();
}
}else{
echo "文件不存在";
exit();
}
closedir($dir);
function GetFileSize($size){
$dw="Byte";
if($size >= pow(2,40)){
$size=round($size/pow(2,40),2);
$dw="TB";
}else if($size >= pow(2,30)){
$size=round($size/pow(2,30),2);
$dw="GB";
}else if($size >= pow(2,20)){
$size=round($size/pow(2,20),2);
$dw="MB";
}else if($size >=pow(2,10)){
$size=round($size/pow(2,10),2);
$dw="KB";
}else{
$dw="Bytes";
}
return $size.$dw;
}
function dirsize($dirname){
$dirsize=0;
$dir=opendir($dirname);
while($filename=readdir($dir)){
$file=$dirname."/".$filename;
if($filename!='.' && $filename!='..'){
if(is_dir($file)){
$dirsize+=dirsize($file);
}else{
$dirsize+=filesize($file);
}
}
}
closedir($dir);
return $dirsize;
}
//打开文件
//获取打开文件
//判断打开的文件
//去掉. ..
//判断是不是dir文件夹
  //如果是则进去取出文件大下,递归进行判断; ?>

3.删除文件

//判断文件是否存在
//文件是不是目录
//打开文件
//读取文件
//过滤文件
//如果是文件夹则打开,如果是文件则删除
$dirname="phpMyAdmin";
rmdirdir($dirname);
function rmdirdir($dirname){
if(file_exists($dirname)){
if(is_dir($dirname)){
$dir=opendir($dirname);
while($filename=readdir($dir)){
$file=$dirname."/".$filename;
if($filename!='.' && $filename!='..'){
if(is_dir($file)){
rmdirdir($file);
}else{
unlink($file);
}
}
}
}else{
echo "不是文件";
exit();
}
}
else{
echo "文件不存在";
exit();
}
rmdir($dirname);
closedir($dir);
}

4.剪切,重命名

rename("目标","原路径")

5.复制文件

    $dirname="phpMyAdmin";
$dirtoname="Hello";
copydir($dirtoname,$dirname);
function copydir($dirtoname,$dirname){
//判断是不是文件
if(is_file($dirtoname)){
echo "目标不是目录不能创建";
return;
}
//创建文件
if(!file_exists($dirtoname)){
mkdir($dirtoname);
echo "创建文件夹".$dirtoname;
}
//打开文件 $dir=opendir($dirname); //读取文件
while($filename=readdir($dir)){ //过滤文件
if($filename!='.' && $filename!='..'){
//打开之后过滤的文件加上原路径 $file1=$dirname."/".$filename;
$file2=$dirtoname."/".$filename;
echo $file2."<br>"; //判断文件是不是文件夹
if(is_dir($file1)){
copydir($file2,$file1); }else{
copy($file1,$file2);
}
} }
closedir($dir);
}