php文件操作相關(guān)類實(shí)例
本文實(shí)例講述了php文件操作相關(guān)類。分享給大家供大家參考。具體如下:
<?php class file_dir { function check_exist($filename) //檢查目錄或文件是否存在 { if(file_exists($filename)) { return true; } else return false; } function create_dir($dirname,$mode=0777) // 一次只能創(chuàng)建一級目錄 { if(is_null($dirname) || $dirname=="") return false; if(!is_dir($dirname)) { return mkdir($dirname,$mode); } } function createDir($aimUrl) //可同時創(chuàng)建多級目錄 { $aimUrl = str_replace('\\', '/', $aimUrl); $aimDir = ''; $arr = explode('/', $aimUrl); foreach ($arr as $str) { $aimDir .= $str . '/'; if (!file_exists($aimDir)) { mkdir($aimDir); } } } function delete_dir($dirname) //刪除目錄 { if($this->check_exist($dirname) and is_dir($dirname)) { if(!$dirhandle=opendir($dirname)) return false; while(($file=readdir($dirhandle))!==false) { if($file=="." or $file=="..") continue; $file=$dirname.DIRECTORY_SEPARATOR.$file; //表示$file是$dir的子目錄 if(is_dir($file)) { $this->delete_dir($file); } else { unlink($file); } } closedir($dirhandle); return rmdir($dirname); } else return false; } function copy_dir($dirfrom,$dirto) //復(fù)制目錄 { if(!is_dir($dirfrom)) return false; if(!is_dir($dirto)) mkdir($dirto); $dirhandle=opendir($dirfrom); if($dirhandle) { while(false!==($file=readdir($dirhandle))) { if($file=="." or $file=="..") continue; $filefrom=$dirfrom.DIRECTORY_SEPARATOR.$file; //表示$file是$dir的子目錄 $fileto=$dirto.DIRECTORY_SEPARATOR.$file; if(is_dir($filefrom)) { $this->copy_dir($filefrom,$fileto); } else { if(!file_exists($fileto)) copy($filefrom,$fileto); } } } closedir($dirhandle); } function getdir_size($dirname) //獲取目錄大小 { if(!file_exists($dirname) or !is_dir($dirname)) return false; if(!$handle=opendir($dirname)) return false; $size=0; while(false!==($file=readdir($handle))) { if($file=="." or $file=="..") continue; $file=$dirname."/".$file; if(is_dir($file)) { $size+=$this->getdir_size($file); } else { $size+=filesize($file); } } closedir($handle); return $size; } function getReal_size($size) // 單位自動轉(zhuǎn)換函數(shù) { $kb=1024; $mb=$kb*1024; $gb=$mb*1024; $tb=$gb*1024; if($size<$kb) return $size."B"; if($size>=$kb and $size<$mb) return round($size/$kb,2)."KB"; if($size>=$mb and $size<$gb) return round($size/$mb,2)."MB"; if($size>=$gb and $size<$tb) return round($size/$gb,2)."GB"; if($size>=$tb) return round($size/$tb,2)."TB"; } function copy_file($srcfile,$dstfile) { if(is_file($srcfile)) { if(!file_exists($dstfile)) return copy($srcfile,$dstfile); } else return false; } function unlink_file($filename) //刪除文件 { if($this->check_exist($filename) and is_file($filename)) { return unlink($filename); } else return false; } function getsuffix($filename) //獲取文件名后綴 { if(file_exists($filename) and is_file($filename)) { return end(explode(".",$filename)); } } function input_content($filename,$str) //將字符串寫入文件 { if(function_exists(file_put_contents)) { file_put_contents($filename,$str); } else { $fp=fopen($filename,"wb"); fwrite($fp,$str); fclose($fp); } } function output_content($filename) //將整個文件內(nèi)容讀出到一個字符串中 { if(function_exists(file_get_contents)) { return file_get_contents($filename); } else { $fp=fopen($filename,"rb"); $str=fread($fp,filesize($filename)); fclose($fp); return $str; } } function output_to_array($filename) //將文件內(nèi)容讀出到一個數(shù)組中 { $file=file($filename); $arr=array(); foreach($file as $value) { $arr[]=trim($value); } return $arr; } } //$dir=new file_dir; //$size=$dir->getdir_size("F:/wamp/www/class/images"); //echo $dir->getReal_size($size); ?>
希望本文所述對大家的php程序設(shè)計有所幫助。
相關(guān)文章
ThinkPHP自動轉(zhuǎn)義存儲富文本編輯器內(nèi)容導(dǎo)致讀取出錯的解決方法
這篇文章主要介紹了ThinkPHP自動轉(zhuǎn)義存儲富文本編輯器內(nèi)容導(dǎo)致讀取出錯的解決方法,需要的朋友可以參考下2014-08-08PHP實(shí)現(xiàn)將優(yōu)酷土豆騰訊視頻html地址轉(zhuǎn)換成flash swf地址的方法
這篇文章主要介紹了PHP實(shí)現(xiàn)將優(yōu)酷土豆騰訊視頻html地址轉(zhuǎn)換成flash swf地址的方法,涉及php根據(jù)各個網(wǎng)站的網(wǎng)址規(guī)則針對URL地址的正則匹配與轉(zhuǎn)換相關(guān)操作技巧,需要的朋友可以參考下2017-08-08利用PHP獲取訪客IP、地區(qū)位置、瀏覽器及來源頁面等信息
這篇文章主要介紹了利用PHP獲取訪客IP、地區(qū)位置、瀏覽器及來源頁面等信息的相關(guān)資料,文中給出了詳細(xì)的示例代碼供大家參考學(xué)習(xí),對大家具有一定的參考借鑒價值,需要的朋友們下面來一起看看吧。2017-06-06Linux系統(tǒng)中為php添加pcntl擴(kuò)展
上篇文章我們介紹了在mac系統(tǒng)中為片php添加pcntl擴(kuò)展插件,本文我們繼續(xù)來分享下Linux系統(tǒng)中為php添加pcntl擴(kuò)展的方法,希望小伙伴們能夠喜歡2016-08-08PHP 過濾頁面中的BOM(實(shí)現(xiàn)代碼)
本篇文章是對PHP中過濾頁面中的BOM的實(shí)現(xiàn)代碼進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06當(dāng)前比較流行的兩款PHP加密、解密工具Zend Guard和iconCube介紹
這篇文章主要介紹了當(dāng)前比較流行的兩款PHP加密、解密工具Zend Guard和iconCube介紹,本文還給出了iconCube的安裝教程,需要的朋友可以參考下2014-09-09php模式設(shè)計之觀察者模式應(yīng)用實(shí)例分析
這篇文章主要介紹了php模式設(shè)計之觀察者模式,結(jié)合實(shí)例形式分析了php觀察者模式的原理、應(yīng)用案例與相關(guān)操作注意事項(xiàng),需要的朋友可以參考下2019-09-09