php归获取当前目录下的二级目录数 和文件数
<?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归获取当前目录下的二级目录数 和文件数的更多相关文章
- <php>统计目录数和文件数
$dirn = 0; //目录数 $filen = 0; //文件数 //用来统计一个目录下的文件和目录的个数 function getdirnum($file) { global $dirn; gl ...
- File获取当前目录下的所有子项 listFiles()
package seday03; import java.io.File; /** * 获取一个目录中的所有子项 * @author xingsir */public class ListFilesD ...
- python 获取当前目录下的文件目录和文件名
python 获取当前目录下的文件目录和文件名 os模块下有两个函数: os.walk() os.listdir() 1 # -*- coding: utf-8 -*- 2 3 import os ...
- python 获取当前目录下文件(转)
今天继续整理原来写的 python 代码,下面是获取文件信息的 python 处理代码. 获取指定目录下文件的文件名以及文件的数量,然后列出其中还存在的目录名称: #!/usr/bin/env pyt ...
- PHP 获取当前目录下的所有文件
我们有时候会想拿到当前目录下的所有文件名,以下就是我写的一个方法,请大家参考 // 获取当前文件的上级目录 $con = dirname(__FILE__); // 扫描$con目录下的所有文件 $f ...
- shell 获取当前目录下的jar文件
1.示例 function getDir() { ` do fileName=$"/"$item if [ -d $fileName ] then echo $fileName&q ...
- os:获取当前目录路径,上级目录路径,上上级目录路径
import os '''***获取当前目录***''' print(os.getcwd()) print(os.path.abspath(os.path.dirname(__file__))) '' ...
- ls仅列出当前目录下的所有目录
ls -d */ -d仅列出目录本身,而不列出其中的内容 *通配符,所有的字符 /目录的标识
- 获取当前目录下所有php文件内的函数名
$dir = dirname(__FILE__); $files = scandir($dir); foreach($files as $name){ if($name == '.' || $name ...
随机推荐
- C#操作Access数据库(创建&修改结构)
本文转自:http://www.cnblogs.com/liyugang/archive/2012/11/17/2775393.html 想要在程序中控制Access,不是数据,而是Access数据库 ...
- ios 8.4 Xcode6.4 设置LaunchImage图片
Step1 1.点击Image.xcassets 进入图片管理,然后右击,弹出"New Launch Image" 2.如图,右侧的勾选可以让你选择是否要对ipad,横屏,竖屏,以 ...
- Keil 4.0 生成bin文件
在菜单:Flash /configuare falsh tools ... option for Tatget '项目' /User中:在Run User Programs After Build/R ...
- 记录一些容易忘记的属性 -- UIButton
//设置按钮文字字体(这个只在自定义button时有效) btn1.titleLabel.font = [UIFont systemFontOfSize:30]; showsTouchWhenH ...
- iOS开发XCODE5 SVN配置 使用办法
第一次弄svn版本控制,折腾了好久一直都出错!无意间看到一篇文章!貌似解决了,很感谢“代码妖娆” 的详细流程(http://blog.sina.com.cn/s/blog_68661bd80101ph ...
- 第四课 Gallery的使用
直接上代码 1.Layout--Main.axml <?xml version="1.0" encoding="utf-8"?> <Linea ...
- JavaScript 之 走马灯
1.原理分析:首先截取字符串的最后一位用Last表示,再截取剩余字符串用Rest表示,拼接字符串Last + Rest, 此事字符串是不会动的,还需要一个函数setInterval(javascrip ...
- linux 快速安装mysql
yum list | grep mysqlyum install -y mysql-server mysql mysql-devel service mysqld startmysqladmin -u ...
- R.java不能自动更新
1. The type R is already defined. (很多时候我们在导入其他人的程序的时候,会遇到这个错误) 通常在project里有两个R.java,一个在src,一个在gen,通常 ...
- C++数据结构之Stack(栈)
stack,栈,是好比堆积木似的数据结构,从上之下堆积,取出时按"LIFO"-last int first out后进先出的规则.栈一般为线程所独有,也就是每个线程有其自有的栈,与 ...