美文网首页
php文件夹的操作

php文件夹的操作

作者: 西湖凉咖啡 | 来源:发表于2017-10-03 09:31 被阅读93次

一、删除目录及目录下的所有文件

function delDirAndFile( $dirName )

{

if ( $handle = opendir( "$dirName" ) ) {

while ( false !== ( $item = readdir( $handle ) ) ) {

if ( $item != "." && $item != ".." ) {

if ( is_dir( "$dirName/$item" ) ) {

delDirAndFile( "$dirName/$item" );

} else {

if( unlink( "$dirName/$item" ) )echo "成功删除文件: $dirName/$item

\n”;

}

}

}

closedir( $handle );

if( rmdir( $dirName ) )echo “成功删除目录: $dirName

\n”;

}

}

二、仅删除目录下的文件,不删除目录

function delFile($dirName){

if(file_exists($dirName) && $handle=opendir($dirName)){

while(false!==($item = readdir($handle))){

if($item!= "." && $item != ".."){

if(file_exists($dirName.'/'.$item) && is_dir($dirName.'/'.$item)){

delFile($dirName.'/'.$item);

}else{

if(unlink($dirName.'/'.$item)){

return true;

}

}

}

}

closedir( $handle);

}

}

三、定时删除

<?php

$flag = 1; //将执行标志设置为1,默认为执行

ignore_user_abort(); //客户端断开时,可以让脚本继续在后台执行

set_time_limit(0); //忽略php.ini设置的脚本运行时间限制

$interval = 5*60; //设置执行周期,单位为秒,5分钟为 5*60=300

do{

$flagfile = "flag.txt"; //标志放置在文件“flag.txt”中。“0”表示停止执行,“1”表示继续执行

if(file_exists($flagfile) && is_readable($flagfile)) { //读取文件内容

$fh = fopen($flagfile,"r");

while (!feof($fh)) {

$flag = fgets($fh); //存储标志

}

fclose($fh);

}

$dir = "temp/"; //你的临时目录位置

$handle=opendir("{$dir}/");

while (false !== ($file=readdir($handle))) {

if ($file!="." && $file!=".." && !is_dir("{$dir}/{$file}")) {

@unlink ("{$dir}/{$file}");

}

}

closedir($handle); //关闭由 opendir() 函数打开的目录

sleep($interval); //执行一个周期后,休眠$interval时间,休眠结束后脚本继续执行

}while($flag);

友情提示:请在本地环境测试!

四、创建文件夹

mkdir("文件夹路径",0700);

五、列出目录和文件

if ($handle = opendir('./')) {//指定当前目录

  while (false !== ($file = readdir($handle))) {//循环读取目录下的文件

      echo "$file<br />";

  }

  closedir($handle);//关闭目录流

}

六、磁盘空间

function dir_size($dir) {

@$dh = opendir($dir);//打开目录,返回一个目录流

$size = 0;//初始大小为0

while ($file = @readdir($dh)) {//循环读取目录下的文件

if ($file != "." and $file != "..") {//如果返回的不是本目录(.)或者上级目录(..)

$path = $dir."/".$file;//设置目录,用于含有子目录的情况

if (is_dir($path)) {//如果是目录文件

echo "$path<br />";

$size += dir_size($path);//递归调用,计算目录大小

} elseif (is_file($path)) {//如果是文件

echo "$path ". filesize($path) ." BYTE<br />";

$size += filesize($path);//计算文件大小

}

}

}

@closedir($dh);//关闭目录流

return $size;//返回大小

}

$dir = ".";//指定文件所在的目录

$dir_size = dir_size("$dir");//计算目录大小

echo "总大小:". $dir_size ." BYTE";

七、改变目录和文件的属性

chmod("test.txt",0755);

相关文章

  • PHP文件夹操作

    //目录操作 //创建目录:mkdir //$res = mkdir("test"); //if($res){ /...

  • php文件夹的操作

    一、删除目录及目录下的所有文件 function delDirAndFile( $dirName ) { if (...

  • 6.PHP文件编程

    思考:在进行PHP开发的时候,有时候会需要对文件进行操作,例如文件夹管理和文件管理等,这些操作PHP有提供扩展吗?...

  • 文件处理和上传

    PHP 文件处理和上传 如何判断文件和文件夹 文件的属性 文件的操作 这段我整体是查阅PHP的手册完成--大家参考...

  • php文件上传示例

    php文件上传示例 环境 php运行环境 操作 前言 我们将会建立两个文件和一个文件夹,分别是: upload.h...

  • php操作redis大全

    php连接redis测试 php操作redis函数封装 php操作redis大全,基本上php操作redis常用的...

  • php-文件文件夹操作

  • lavarel 5.5升级到lavarel 5.6

    一、修改composer.json文件夹前提php最低7.13 图中 "php": ">=7.1.3","...

  • php操作redis大全

    php连接redis测试 php操作redis大全,基本上php操作redis常用的函数都在下面了

  • PHP操作mysql

    准备 事实上:PHP本身不能操作数据库(mysql);但是PHP有扩展可以实现操作mysql PHP操作mysql...

网友评论

      本文标题:php文件夹的操作

      本文链接:https://www.haomeiwen.com/subject/ekvxyxtx.html