遍歷某文件夾下的所有文件和文件夾,並且把所以匹配的文件復制到同一目錄。
$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");
?>