php文件夾的操作

一、刪除目錄及目錄下的所有文件

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);

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,915評論 18 139
  • 1.文件操作 打開關閉文件 打開文件 $file = "test.txt";$fh = fopen( $file,...
    寒梁沐月閱讀 681評論 0 0
  • linux資料總章2.1 1.0寫的不好抱歉 但是2.0已經改了很多 但是錯誤還是無法避免 以后資料會慢慢更新 大...
    數據革命閱讀 12,218評論 2 33
  • 第1章 小試牛刀 $ 是普通用戶,# 表示管理員用戶 root。 shebang:#!。sharp / hash ...
    巴喬書摘閱讀 6,402評論 1 4
  • 01 從大輝和嬌嬌分享“人生贏家的行動秘籍”后,嬌嬌對閱讀和寫作的熱情高漲起來。大輝很高興,因為他們就可以經常有話...
    風七陽閱讀 433評論 18 18