1、删除目录下所有的文件和文件夹,采用了递归的方式循环去删除
/**
* 删除目录下所有的文件和文件夹
* $dirname 表示的目录的路径
* return 的当前的要删除的目录的路径,空目录
*/
function rmdirr($dirname) {
if (! file_exists ( $dirname )) {
return false;
}
if (is_file ( $dirname ) || is_link ( $dirname )) {
return unlink ( $dirname );
}
$dir = dir ( $dirname );
while ( false !== $entry = $dir->read () ) {
if ($entry == '.' || $entry == '..') {
continue;
}
$this->rmdirr ( $dirname . DIRECTORY_SEPARATOR . $entry );
}
$dir->close ();
return rmdir ( $dirname );
}2、计算文件的大小
/**
* 计算文件的大小,
* @param int $size 文件的大小,返回的大小有k,kb m
*/
function Byte_Change($size) {
if ($size <= 1024) {
$num = floor ( $size * 100 ) / 100;
$ext = "K";
} elseif ($size <= 1048576 and $size > 1024) {
$num = floor ( ($size / 1024) * 100 ) / 100;
$ext = "KB";
} elseif ($size > 1048576) { //$size<=1073741824 and
$num = floor ( ($size / 1048576) * 100 ) / 100;
$ext = "MB";
}
return $num . " " . $ext;
}3、先删除目录下所有的文件,这个不删除文件夹
/**
*先删除目录下所有的文件
* 返回的是true ,错误返回false
*/
function deldir($dir) {
$dh = opendir ( $dir );
while ( $file = readdir ( $dh ) ) {
if ($file != "." && $file != "..") {
$fullpath = $dir . "/" . $file;
if (! is_dir ( $fullpath )) {
unlink ( $fullpath );
} else {
deldir ( $fullpath );
}
}
}
closedir ( $dh ); //删除当前文件夹:
if (rmdir ( $dir )) {
return true;
} else {
return false;
}
}4、计算目录的大小或者文件夹的大小
/**
* 返回目录的大小,及文件夹的大小
* $dir 目录的路径
* return 目录的文件夹的大小
*/
function dir_size($dir) {
if (!preg_match('#/$#', $dir)) {
$dir .= '/';
}
$totalsize = 0; //调用文件列表
foreach (get_file_list($dir) as $name) {
$totalsize += (@is_dir($dir.$name) ? dir_size("$dir$name/") : (int)@filesize($dir.$name));
}
return $totalsize;
}5、获取文件夹下的文件和文件夹列表(列出所有的文件)
/**
* 获取文件夹下的列表
* $path 目录的路径
* return 返回文件夹下所有文件和文件夹名组成的数组
*/
function get_file_list($path) {
$f = $d = array(); //获取所有文件
foreach (get_all_files($path) as $name) {
if (@is_dir($path.$name)) {
$d[] = $name;
} else if (@is_file($path.$name)) {
$f[] = $name;
}
}
natcasesort($d);
natcasesort($f);
return array_merge($d, $f);
}6、 获取文件夹下的所有的文件
/**
* 获取文件夹下的列表
* $path 目录的路径
* return 返回文件夹下所有文件名组成的数组
*/
function get_all_files($path) {
$list = array();
if (($hndl = @opendir($path)) === false) {
return $list;
}
while (($file=readdir($hndl)) !== false) {
if ($file != '.' && $file != '..') {
$list[] = $file;
}
}
closedir($hndl);
return $list;
}8、创建一个文件的方法
/**
* 创建一个文件的方法
* $filename 文件的路径,必须加上文件名,比如:/media/example.txt
* $message 写入文件的内容
* $mode 写入的模式 a a+ w w+ 等等
* 写入成功后返回true ,失败返回false
*/
function crateFile($filename,$message,$mode="w+")
{
if(!file_exists($filename)){
die("文件" .$filename. " 不存在");
}
$fp=fopen($filename, $mode); //打开文件指针,创建文件
if ( !is_writable($filename) ){
die("文件:" .$filename. "不可写,请检查!");
}
$result=fwrite($fp, $message);
fclose($fp); //关闭指针
if($result){
return true;
}else {
return false;
}
}9、删除某个目录下的某个文件名
/**
* 本方法删除path路径下name文件
*
* @param string_type path
* @param string_type name
*/
function del_file($path,$name){ //删除文件
$filename=$path.$name;
if (!file_exists($filename)) {
die("文件不存在,请确认路径是否正确");
}
else {
if (unlink($filename)){
return true;
}
return false;
}
}10、本方法用来复制name文件从spath到dpath
/**
* 本方法用来复制name文件从spath到dpath
*
* @param string name 文件名
* @param string spath 原目标路径
* @param string dpath 目的路径
*/
function copy_file($name,$spath,$dpath) //文件复制
{
$filename=$spath.$name;
if (file_exists($filename)) {
$handle=fopen($filename,'a');
copy($filename,$dpath.$name);
if (file_exists($dpath.$name))
return true;
else return false;
}
else
die("文件不存在");
}11、本方法把name文件从spath移动到path路径
/**
* 本方法把name文件从spath移动到path路径
*
* @param string_type path
* @param string_type dirname
* @param string_type dpath
*/
function move_file($name,$spath,$dpath) //移动文件
{
$filename=$spath.$name;
if (file_exists($filename)) {
$result=rename($filename,$dpath.$name);
if ($result==false or !file_exists($dpath))
die("文件移动失败或目的目录不存在");
else
return true;
}
else {
return false;
}
}12、本方法把filename文件重命名为newname文件
/** 本方法把filename文件重命名为newname文件 *
* @param string_type filename url的路径
* @param string_type newname
*/
function rename_file($filename,$newname)
{
if (file_exists($filename)) {//判断文件是否存在
$result=rename($filename,$newfilename);
if ($result==true)
return true;
else
return false;
} else
die( "文件不存在");
}13、本方法在path目录下创建名为dirname的目录
/**
* 本方法在path目录下创建名为dirname的目录 *
* @param string_type path
* @param string_type dirname
*/
function create_dir($path,$dirname){ //创建目录
if (file_exists($path)) {
$result=@mkdir($path.$dirname);
if ($result)
return true;
else
return false;
} else
die("路径不存在,请重新输入");
}