100分 求遍历目录的算法~~~~~~~~~~· 从root/aaa/bbb/ccc.....开始的相对路径存入数据库 谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 use a recursionhttp://codewalkers.com/getcode.php?id=57 遍历目录见http://expert.csdn.net/Expert/TopicView1.asp?id=2383886从目录对象的path属性中扣除"root/aaa/bbb/ccc/"就是你要的。 我想把比如root/aaa/bbb/ccc/1.txtroot/aaa/bbb/ccc/2.txtroot/aaa/bbb/ccc/3.txtroot/aaa/bbb/ccc/4.txtroot/aaa/和root/aaa/bbb下没有文件root/xxx/yyy/zzz/1.txtroot/xxx/yyy/zzz/2.txtroot/xxx/yyy/zzz/3.txtroot/xxx/yyy/zzz/4.txtroot/xxx/和root/xxx/yyy下没有文件这样的带相对路径的文件名称存入某个字段内 就是说 没有文件的目录我不要只要有文件的目录和文件名root/xxx/yyy/zzz/4.txt这样的而不是root/xxx/yyy/这个 比如:function FCount($Path){//global $FileCount,$DirectoryCount;$dircount[0]=0;////=总的大小$dircount[1]=0;////=文件个数$dircount[2]=0;///=目录个数$FileCount=0;$FileSize=0;$DirectoryCount=0; $Handle = opendir($Path); while($File = readdir($Handle)) { if(filetype($Path.$File) !='dir') { // echo "----文件名----$File<br>"; $FileCount++; $FileSize+=filesize($Path."/".$File); } if($File !='.' && $File !='..' && filetype($Path.$File)=='dir') { // echo "目录名----$File<br>"; $DirectoryCount++; $count=FCount($Path."$File/"); // $dircount[2]=$DirectoryCount+$count[2]; // $dircount[1]=$FileCount+$count[1]; } } //echo "file count ".$FileCount."<br>"; $dircount[2]=$DirectoryCount+$count[2]; $dircount[1]=$FileCount+$count[1]; $dircount[0]=$FileSize+$count[0]; closedir($Handle); return $dircount;} is_dir判断是否为目录,除去 . 和 .. 两个目录 <?phpfunction dirtree($path=".") { $d = dir($path); while(($v=$d->read()) != null) { if($v == "." || $v == "..") continue; $file = $d->path."/".$v; if(is_dir($file)) dirtree($file); else mysql_query("insert into tbl_name (pathfile) values ($file)"); // 这里写把 $file 入库的代码 } $d->close();}//例dirtree("root/aaa/bbb/ccc");?> IE9下样式加载不上 怎样在同一个页面实现简单的email地址验证啊 高手指点。。。 高分求助啊!!! ISAPI_Rewrite 防盗链的正则问题. 150分(全部的分都压上了) 怎么让GIF动画在页面中不动呢? 数据库共有5000多条数据,每30条插入一个时间(共有180个时间) 怎么写php或者mysql的语句? 登陆问题! 如何让数据呈两列显示? 这段PHP代码怎么写成能输出的结果和JS一样? 求一段产生随机数字的程序(急急急急急) 数组问题?
从目录对象的path属性中扣除"root/aaa/bbb/ccc/"就是你要的。
root/aaa/bbb/ccc/1.txt
root/aaa/bbb/ccc/2.txt
root/aaa/bbb/ccc/3.txt
root/aaa/bbb/ccc/4.txtroot/aaa/和root/aaa/bbb下没有文件root/xxx/yyy/zzz/1.txt
root/xxx/yyy/zzz/2.txt
root/xxx/yyy/zzz/3.txt
root/xxx/yyy/zzz/4.txt
root/xxx/和root/xxx/yyy下没有文件这样的带相对路径的文件名称存入某个字段内
只要有文件的目录和文件名
root/xxx/yyy/zzz/4.txt这样的而不是root/xxx/yyy/这个
function FCount($Path)
{
//global $FileCount,$DirectoryCount;
$dircount[0]=0;////=总的大小
$dircount[1]=0;////=文件个数
$dircount[2]=0;///=目录个数
$FileCount=0;
$FileSize=0;
$DirectoryCount=0;
$Handle = opendir($Path);
while($File = readdir($Handle))
{
if(filetype($Path.$File) !='dir')
{
// echo "----文件名----$File<br>";
$FileCount++;
$FileSize+=filesize($Path."/".$File);
}
if($File !='.' && $File !='..' && filetype($Path.$File)=='dir')
{
// echo "目录名----$File<br>";
$DirectoryCount++;
$count=FCount($Path."$File/");
// $dircount[2]=$DirectoryCount+$count[2];
// $dircount[1]=$FileCount+$count[1];
}
}
//echo "file count ".$FileCount."<br>";
$dircount[2]=$DirectoryCount+$count[2];
$dircount[1]=$FileCount+$count[1];
$dircount[0]=$FileSize+$count[0];
closedir($Handle);
return $dircount;
}
function dirtree($path=".") {
$d = dir($path);
while(($v=$d->read()) != null) {
if($v == "." || $v == "..")
continue;
$file = $d->path."/".$v;
if(is_dir($file))
dirtree($file);
else
mysql_query("insert into tbl_name (pathfile) values ($file)"); // 这里写把 $file 入库的代码
}
$d->close();
}
//例
dirtree("root/aaa/bbb/ccc");
?>