基本函数

/**
* 检查邮箱是否有效
* @param $email 要检查的邮箱
* @param 返回结果
*/
function isemail($email) {
        return strlen($email) > 6 && preg_match("/^[\w\-\.]+@[\w\-\.]+(\.\w+)+$/", $email);
}

/**
* 产生随机码
* @param $length - 要多长
* @param $numberic - 数字还是字符串
* @return 返回字符串
*/
function random($length, $numeric = 0) {
        PHP_VERSION < '4.2.0' && mt_srand((double)microtime() * 1000000);
        if($numeric) {
                $hash = sprintf('%0'.$length.'d', mt_rand(0, pow(10, $length) - 1));
        } else {
                $hash = '';
                $chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz';
                $max = strlen($chars) - 1;
                for($i = 0; $i < $length; $i++) {
                        $hash .= $chars[mt_rand(0, $max)];
                }
        }
        return $hash;
}

/**
* 删除非空目录
* @param $path 目录
*/
function removedir($dirname, $keepdir = FALSE) {

        $dirname = wipespecial($dirname);

        if(!is_dir($dirname)) {
                return FALSE;
        }
        $handle = opendir($dirname);
        while(($file = readdir($handle)) !== FALSE) {
                if($file != '.' && $file != '..') {
                        $dir = $dirname . DIRECTORY_SEPARATOR . $file;
                        is_dir($dir) ? removedir($dir) : unlink($dir);
                }
        }
        closedir($handle);
        return !$keepdir ? (@rmdir($dirname) ? TRUE : FALSE) : TRUE;
}

 


//查询出某一文件夹中的所有文件
function _file_count($dir) {
if(!is_dir($dir)) {
return false;
}else {
$handle = opendir($dir);
while(($file = readdir($handle)) !== FALSE) {
if($file !='.' && $file != '..') {
if(is_dir($dir.DIRECTORY_SEPARATOR.$file)) {
_file_count($dir.DIRECTORY_SEPARATOR.$file);
}else {
echo 'filename:'.$dir.DIRECTORY_SEPARATOR.$file.'<br/>';
}
}
}
closedir($handle);
}
}
//查询出某一文件内的所有文件夹
function _folder($dir) {
if(is_dir($dir)) {
$handle = opendir($dir);
while(($file = readdir($handle)) !== FALSE) {
if($file != '.' && $file != '..') {
$second_dir = $dir.DIRECTORY_SEPARATOR.$file;
if(is_dir($second_dir)) {
echo 'folderName:'.$file.'<br/>';
_folder($second_dir);
}
}
}
closedir($handle);
}
}
//查询单个文件夹中文件的个数

//查询出每个文件夹中文件的个数
function _file_count_in_folder($dir) {
if(is_dir($dir)) {
$handle = opendir($dir);
$i = 0;
while(($file = readdir($handle)) !== false) {
if($file != '.' && $file != '..') {
$s_dir = $dir.DIRECTORY_SEPARATOR.$file;
if(is_dir($s_dir)) {
_file_count_in_folder($s_dir);
}else {
echo 'filename:'.$file."<br/>";
$i++;
}
}
}
echo $i;
closedir($handle);
}
}

<?php
/** 删除所有空目录
* @param String $path 目录路径
*/
function rm_empty_dir($path){
if(is_dir($path) && ($handle = opendir($path))!==false){
while(($file=readdir($handle))!==false){ // 遍历文件夹
if($file!='.' && $file!='..'){
$curfile = $path.'/'.$file; // 当前目录
if(is_dir($curfile)){ // 目录
rm_empty_dir($curfile); // 如果是目录则继续遍历
if(count(scandir($curfile))==2){ // 目录为空,=2是因为. 和 ..存在
rmdir($curfile); // 删除空目录
}
}
}
}
closedir($handle);
}
}

$folder = '目标文件夹';

rm_empty_dir($folder);
?>

posted @ 2015-09-29 14:36  amw863  阅读(179)  评论(0编辑  收藏  举报