php归获取当前目录下的二级目录数 和文件数

时间:2023-01-24 10:24:07

<?php
        header('Content-Type: text/html; charset=gb2312');
        // $baseDir = "/www/users/";
        $baseDir = "./cronjob";
        $secondDir = exec("find ".$baseDir." -maxdepth 1 -type d",$dirList);
        // $file_path="/www/prima/htdocs/apps/file_num.txt";
        $file_path="/www/prima/htdocs/file_num.txt";
        /* unlink($file_path); */
        foreach( $dirList as $k => $v ){
                if( $v!=$baseDir ){
                        read_all_dir($v,$baseDir);
                }
        }

        function read_all_dir ( $dir,$baseDir )
        {
            $result = array();
            $handle = opendir($dir);
            
            $sitefilenum=mysql_connect("203.158.18.63","sitefilenum","sitefilenum123ewq");
            mysql_query("set names 'gb2312'");
            mysql_select_db("sitefilenum",$sitefilenum);
            
            if ( $handle )
            {
                $file_command = exec("ls ".$dir." -alR|grep '^-'|wc -l",$file_num);
                $dir_command = exec("ls ".$dir." -alR|grep '^d'|wc -l",$dir_num);
                exec("ifconfig eth0 | grep 'inet addr' | awk '{ print $2}' | awk -F: '{print $2}'",$serIP);
                if ($serIP[0]==""){
                exec("ifconfig eth1 | grep 'inet addr' | awk '{ print $2}' | awk -F: '{print $2}'",$serIP);
                }
                $time = date("Y-m-d H:i:s",time());
                closedir($handle);
                $secondDir = explode("/",$dir);
                
                
                $limit_sql = 'SELECT * FROM filenum WHERE domain = "'.end($secondDir).'"';
                $limit_res= mysql_query($limit_sql,$sitefilenum);
                $limit_cou=mysql_fetch_array($limit_res);
                if(!empty($limit_cou)){
                    $sql = 'UPDATE filenum SET file_num="'.$file_num[0].'",dir_num="'.$dir_num[0].'",ip="'.$serIP[0].'",time="'.$time.'" WHERE domain="'.end($secondDir).'";'."\r\n";                    
                }else{
                    $sql ='INSERT INTO filenum(domain,file_num,dir_num,ip,time) values("'.end($secondDir).'","'.$file_num[0].'","'.$dir_num[0].'","'.$serIP[0].'","'.$time.'");'."\r\n";
                }                    
                
                
                $file = fopen("./file_num.txt","a+");
                fwrite($file,$sql);
                fclose($file);
                echo "#";
            }
        }

        function insert_data ($file_path)
        {

                $sitefilenum=mysql_connect("203.158.18.63","sitefilenum","sitefilenum123ewq");
                mysql_query("set names 'gb2312'");
                mysql_select_db("sitefilenum",$sitefilenum);
                $truncate_sql = "TRUNCATE TABLE filenum";
                mysql_query($truncate_sql);
                $content=file_get_contents($file_path);
                $sql_array = explode(";",$content);
                foreach($sql_array as $val_sql){
                    mysql_query($val_sql);    
                }
        }

        insert_data ($file_path);

?>

php归获取当前目录下的二级目录数 和文件数的更多相关文章

  1. &lt&semi;php&gt&semi;统计目录数和文件数

    $dirn = 0; //目录数 $filen = 0; //文件数 //用来统计一个目录下的文件和目录的个数 function getdirnum($file) { global $dirn; gl ...

  2. File获取当前目录下的所有子项 listFiles&lpar;&rpar;

    package seday03; import java.io.File; /** * 获取一个目录中的所有子项 * @author xingsir */public class ListFilesD ...

  3. python 获取当前目录下的文件目录和文件名

    python 获取当前目录下的文件目录和文件名   os模块下有两个函数: os.walk() os.listdir() 1 # -*- coding: utf-8 -*- 2 3 import os ...

  4. python 获取当前目录下文件&lpar;转&rpar;

    今天继续整理原来写的 python 代码,下面是获取文件信息的 python 处理代码. 获取指定目录下文件的文件名以及文件的数量,然后列出其中还存在的目录名称: #!/usr/bin/env pyt ...

  5. PHP 获取当前目录下的所有文件

    我们有时候会想拿到当前目录下的所有文件名,以下就是我写的一个方法,请大家参考 // 获取当前文件的上级目录 $con = dirname(__FILE__); // 扫描$con目录下的所有文件 $f ...

  6. shell 获取当前目录下的jar文件

    1.示例 function getDir() { ` do fileName=$"/"$item if [ -d $fileName ] then echo $fileName&q ...

  7. os:获取当前目录路径,上级目录路径,上上级目录路径

    import os '''***获取当前目录***''' print(os.getcwd()) print(os.path.abspath(os.path.dirname(__file__))) '' ...

  8. ls仅列出当前目录下的所有目录

    ls -d */ -d仅列出目录本身,而不列出其中的内容 *通配符,所有的字符 /目录的标识

  9. 获取当前目录下所有php文件内的函数名

    $dir = dirname(__FILE__); $files = scandir($dir); foreach($files as $name){ if($name == '.' || $name ...

随机推荐

  1. jmeter的逻辑控制器

    这篇是在网上找的,写的实在是比我写的具体得多,也没什么好补充的,拿来记录一下,方便以后查询,感激原作者!! JMeter中的Logic Controller分为两类:一类用来控制Test Plan执行 ...

  2. SQL语句,给自己的记录

    1.group by 和求和函数的使用 select className,SUM(num) as sumNum FROM test GROUP BY className 2.更新一个字段的所有值 up ...

  3. UVa11235 FrequentValues(RMQ)

    Problem F: Frequent values You are given a sequence of n integers a1 , a2 , ... , an in non-decreasi ...

  4. asp&period;net 运行时&comma; 报控件不存在

    Asp.net 运行时,报控件不存在,但系统中确实加入了控件z, 但是生成网站的时候,报控件不存在,输入代码的时候,this.edtxx.Text 确实可以输入 原因: 系统修改的时候,作了一个备份, ...

  5. Python总的字符串

    Python总最常用的类型,使用单引号双引号表示.三引号之间的字符串可以跨多行并且可以是原样输出的. Python中不支持字符类型,字符也是字符串. ---字符串的CRUD [1:3] [:6] -- ...

  6. 201521123076《java程序设计》第四次总结

    1. 本周学习总结 1.1 尝试使用思维导图总结有关继承的知识点. 1.2 使用常规方法总结其他上课内容. instanceof可以测试一个对象是否是某个类(或其父类),右边'is a?'左边关系. ...

  7. 用js制作日期 2017-03-23

    日期表: <body> <select id="year" ></select>年 <select id="month&quot ...

  8. Collection 和 Collections 、 Array 与 Arrays 的区别

    比较 Collection 和 Collections 的区别, Array 与 Arrays 的区别 Collection 和 Collections的区别 Collection 在 Java.ut ...

  9. Windows 如何备份恢复Ubuntu系统文件

    之前安装的Win10 + Ubuntu18.04双系统,Ubuntu由于特殊原因崩了,所以打算重装系统 但是进不去Ubuntu系统,Ubuntu中的文件无法备份 试了win10的优盘启动工具中的DG, ...

  10. 部署Bookinfo示例程序详细过程和步骤(基于Kubernetes集群&plus;Istio v1&period;0)

    部署Bookinfo示例程序详细过程和步骤(基于Kubernetes集群+Istio v1.0) 部署Bookinfo示例程序   在下载的Istio安装包的samples目录中包含了示例应用程序. ...