PHP常用函数与语句代码

发布时间:2015-08-21 10:51 | 人气数:1265

1、取得一个1-100随机整数,包含1与100。

mt_rand(1,100);

2、删除一个文件夹,包括这个文件夹下面的所有文件与子文件夹。

function delDir($directory) {             //自定义函数递归的删除整个目录
  if(file_exists($directory)) {           //判断目录是否存在,如果不存在rmdir()函数会出错
    if($dir_handle=@opendir($directory)) {      //打开目录返回目录资源,并判断是否成功
      while($filename=readdir($dir_handle)) {   //遍历目录,读出目录中的文件或文件夹
        if($filename!="." && $filename!="..") { //一定要排除两个特殊的目录
          $subFile=$directory."/".$filename;    //将目录下的文件和当前目录相连
          if(is_dir($subFile))                  //如果是目录条件则成立
            delDir($subFile);               //递归调用自己删除子目录
          if(is_file($subFile))             //如果是文件条件则成立
            unlink($subFile);               //直接删除这个文件
        }
      }
      closedir($dir_handle);                //关闭目录资源
      rmdir($directory);                    //删除空目录
    }
  }
}
delDir("phpMyAdmin");  //调用delDir()函数,将程序所在目录中的“phpMyAdmin”文件夹删除

3、复制目录函数

function copyDir($dirSrc, $dirTo) {   //自定义函数递归的复制带有多级子目录的目录
  if(is_file($dirTo)) {               //如果目标不是一个目录,是一个已存在的文件则退出
    echo "目标不是目录不能创建!!";
    return;                           //退出函数
  }
  if(!file_exists($dirTo)) {          //如果目标目录不存在则创建,存在则不变
    mkdir($dirTo);                    //创建目录目录
  }
  if($dir_handle=@opendir($dirSrc)) {            //打开目录返回目录资源,并判断是否成功
    while($filename=readdir($dir_handle)) {      //遍历目录,读出目录中的文件或文件夹
      if($filename!="." && $filename!="..") {    //一定要排除两个特殊的目录
        $subSrcFile=$dirSrc."/".$filename;       //将源目录的多级子目录连接
        $subToFile=$dirTo."/".$filename;         //将目标目录的多级子目录连接
           
        if(is_dir($subSrcFile))                  //如果源文件是一个目录
          copyDir($subSrcFile, $subToFile);      //递归调用自己复制子目录
        if(is_file($subSrcFile))                 //如果源文件是一个普通文件
          copy($subSrcFile, $subToFile);         //直接复制到目标位置
      }
    }
    closedir($dir_handle);           //关闭目录资源
  }
}
copyDir("phpMyAdmin", "D:/admin");   //测试函数,将目录"phpMyAdmin"复制到"D:/admin"

4、统计目录大小函数

function dirSize($directory) {      //自定义一个函数dirSize(),统计传入参数的目录大小
  $dir_size=0;                      //整型变量初值为0,用来累加各个文件大小从而计算目录大小
  
  if($dir_handle=@opendir($directory)) {      //打开目录,并判断是否能成功打开
    while($filename=readdir($dir_handle)) {   //循环遍历目录下的所有文件
      if($filename!="." && $filename!="..") { //一定要排除两个特殊的目录
          $subFile=$directory."/".$filename;  //将目录下的子文件和当前目录相连
        if(is_dir($subFile))                  //如果为目录
          $dir_size+=dirSize($subFile);       //递归地调用自身函数,求子目录的大小
        if(is_file($subFile))                 //如果是文件
          $dir_size+=filesize($subFile);      //求出文件的大小并累加
      }
    }
    closedir($dir_handle);                    //关闭文件资源
    return $dir_size;                         //返回计算后的目录大小
  }
}
  
$dir_size=dirSize("phpMyAdmin");              //调用该函数计算目录大小,返回目录大小的字节数
echo round($dir_size/pow(1024,1),2)."KB";     //将获取的目录字节数转换为“KB”单位并输出

5、冒泡排序文件名

$files = array("file11.txt","file22.txt","file1.txt","file2.txt");  //定义一个包含数字值的数组
 
//自定义的函数,第一个参数为被排序的数组,第二个参数选择使用哪个函数进行比较
function mySort($arr,$select = false)
{
for ($i=0; $i < count($arr); $i++) {      //多少个文件名即要比较多少次
  for ($j=0; $j < count($arr)-1; $j++) {  //每个文件名和其它文件名字符的比较
    if ($select) {
      //如果第二个参数为true则使用strcmp()函数比较大小
      if (strcmp($arr[$j], $arr[$j+1])>0) {//前后两个值比较结果大于0则调换位置
        $tmp = $arr[$j];
        $arr[$j] = $arr[$j+1];
        $arr[$j+1] = $tmp;
      }
    } else {
      //如果第二个参数为false则使用strnatcmp()函数比较大小
      if (strnatcmp($arr[$j], $arr[$j+1])>0) {
        $tmp = $arr[$j];
        $arr[$j] = $arr[$j+1];
        $arr[$j+1] = $tmp;
      }
    }
  }
}
return $arr;    //返回排序后的数组
}
 
print_r(mySort($files,true));     //选择按字典排序
echo "<br />";
print_r(mySort($files,false));    //选择按自然排序

关键词:PHP函数, 常用代码, PHP插件,PHP代码片段