遍历某文件夹下的所有文件和文件夹,并且把所以匹配的文件复制到同一目录。
$dir="/www/pooy/ke";
static $dir_list =0;
static $file_list =0;
function listfile($dir){
global $dir_list,$file_list;
$d = dir($dir);
while ( $entry = $d->read()) {
$tem_curnt=$dir."/".$entry;
//echo $tem_curnt."<br>";
if($entry=="." || $entry=="..") continue;
if ( is_dir( $tem_curnt)) {
listfile($tem_curnt);
echo "文件夹 ".$tem_curnt."<br>";
$dir_list++;
}
elseif ( is_file($tem_curnt))
{
echo "文件".$tem_curnt."<BR>";
_($tem_curnt,"/www/pooy/bk");
$file_list++;
}
}
$d->close();
}
function _($src, $dst) {
if ( ! is_dir($src)) {
if ( ! ($src, $dst)) {
return _log('Unable to files', $src);
}
} else {
mkdir($dst);
$ls = scandir($src);
for ($i = 0; $i < count($ls); $i++) {
if ($ls[$i] == '.' OR $ls[$i] == '..') continue;
$_src = $src.'/'.$ls[$i];
$_dst = $dst.'/'.$ls[$i];
if ( is_dir($_src)) {
if ( ! _($_src, $_dst)) {
return _log('Unable to files', $_src);
}
} else {
if ( ! ($_src, $_dst)) {
return _log('Unable to files', $_src);
}
}
}
}
return TRUE;
}listfile($dir);
echo "目录数:".$dir_list;
echo"<br>";
echo"文件数:".$file_list;
上一页:PHP时间戳和日期相互转换 下一页:PHP中生成横状百分比图片实例
相关内容
2014.10.10python获取某目录下的所有文件和子目录-os.listdir
2014.07.17python中批量移动目录所有文件函数
2014.07.09PHP自定义遍历目录下所有文件dir(),readdir()函数
2013.12.17php读取指定目录文件夹下所有文件名
2013.05.31python读取指定目录下所有文件
2012.12.20PHP unlink与rmdir删除目录及目录下所有文件
2012.03.15php批量替换内容或指定目录下所有文件内容
2011.04.08php 获取目录下所有文件实现代码
2010.10.21php 目录列出所有文件
2010.10.09php递归删除目录所有文件
㈡ php如何检测某文件夹里的各个文件夹大小
可以使用scandir()和filesize()函数实现:
$path=".";//.是当前目录,你可以换成自己的目录地址
foreach(scandir($path)as$v){
if(!is_dir($v)){//如果不是目录,就是文件了
$size=filesize($v);
echo"文件:".$v."大小:".byte_format($size)."<br>";//单位是kb
}
}
//格式化函数
functionbyte_format($size,$dec=2){
$a=array("B","KB","MB","GB","TB","PB");
$pos=0;
while($size>=1024){
$size/=1024;
$pos++;
}
returnround($size,$dec)."".$a[$pos];
}
㈢ php怎么删除文件夹和文件夹下的所有文件
正常的思路来说,先循环删除文件夹下的所有文件,当没有文件时再删除文件夹,如果你要删除文件夹和所有文件直接本地删除就好了,但是一般没有这种操作。删除文件可以用unlink($filepath)函数,$filepath是文件路径,然后还有一个封装函数rm_empty_dir($path)删除所有空目录:
/** 删除所有空目录
* @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);
}
}
具体的还要你自己稍加修改,希望可以帮到你。
㈣ 关于PHP文件夹操作
if ($dh = opendir($dir)) 前面加个判断,如果是. 或者..就跳过
if($dir=='.'||$dir=='..'){
continue;
}
㈤ PHP 查找文件夹里的文件
我来修改下吧:
你把
if(strstr($entry,$_REQUEST["kw"]))
{
$string = file_get_contents($entry);
echo $string."\n";
break;
}
改成
if(strstr($entry,$_REQUEST["kw"]))
{
$string = file_get_contents($targetdir.'/'.$entry);
echo $string."\n";
break;
}
㈥ php怎么获取文件夹
给你一个文件夹,返回该文件夹下所有文件数量
<?php
//递归函数实现功能
function fileall($fname){
$sum = 0;
if(is_dir($fname)){
$dir = opendir($fname
);
while($name = readdir($dir)){
if($name != "." && $name != ".."){
$wzpath = $fname."/".$name;//将文件拼接成完整的路径
if(is_file($wzpath)){
//如果是文件+1
$sum++;
}else{
//如果是文件夹调用本身函数查找所有文件
$sum += fileall($wzpath);
}
}
}
closedir($dir);
return $sum;
}else{
return 1;
}
}
函数调用:echo fileall("./bootstrap");
?>
㈦ php中怎样获取目录中文件的个数
$a = count(glob("*",GLOB_ONLYDIR));
$b = count(glob("*"));
echo '当前目录下文件夹数量:',$a,',文件数量:',$b-$a;
//这样就可以获取当前目录的文件夹和文件数量了
㈧ php 压缩文件夹
php将文件夹打包成zip文件,参考代码如下:
functionaddFileToZip($path,$zip){
$handler=opendir($path);//打开当前文件夹由$path指定。
while(($filename=readdir($handler))!==false){
if($filename!="."&&$filename!=".."){//文件夹文件名字为'.'和‘..’,不要对他们进行操作
if(is_dir($path."/".$filename)){//如果读取的某个对象是文件夹,则递归
addFileToZip($path."/".$filename,$zip);
}else{//将文件加入zip对象
$zip->addFile($path."/".$filename);
}
}
}
@closedir($path);
}
$zip=newZipArchive();
if($zip->open('images.zip',ZipArchive::OVERWRITE)===TRUE){
addFileToZip('images/',$zip);//调用方法,对要打包的根目录进行操作,并将ZipArchive的对象传递给方法
$zip->close();//关闭处理的zip文件
}
㈨ PHP遍历文件及文件夹
<?php
$dir = 'F:\\game';
function read_dir_all($dir) {
$ret = array('dirs'=>array(), 'files'=>array());
if ($handle = opendir($dir)) {
while (false !== ($file = readdir($handle))) {
if($file != '.' && $file !== '..') {
$cur_path = $dir . DIRECTORY_SEPARATOR . $file;
if(is_dir($cur_path)) {
$ret['dirs'][$cur_path] = read_dir_all($cur_path);
} else {
$ret['files'][] = $cur_path;
}
}
}
closedir($handle);
}
return $ret;
}
$p = read_dir_all($dir);
echo '<pre>';
var_mp($p);
echo '</pre>';
?>
㈩ php如何修改文件夹的名称
可以使用php,rename() 函数重命名文件或目录。
若成功,则该函数返回 true。若失败,则返回 false。
命令格式为:
bool rename ( string oldname, string newname [, resource context] )
下面演示rename的具体应用,文件位置如图:
<?php
$file="html/cache.txt";
$rename="html/rename.txt";
if(rename($file,$rename)){
echo"更名成功";
}else{
echo"更名失败";
}
rename("html/cache2","html/cache3.txt");
rename("html","cache");
rename("file","html/files");
?>