使用PHP遍歷文件目錄與清除目錄中文件的實現(xiàn)詳解
更新時間:2013年06月24日 09:24:01 作者:
本篇文章是對使用PHP遍歷文件目錄與清除目錄中文件的實現(xiàn)方法進行了詳細(xì)的分析介紹,需要的朋友參考下
今天無聊中練習(xí)了一下PHP遍歷文件目錄的程序,編寫了以下兩個程序,不過質(zhì)量不是很好,輕拍~~~
1、清除PHP緩存文件
<?php
function read_dir($dir,$file)
{
$a =strpos($file,".php");
if($a>0)
{
unlink($dir . $file);
echo "delete $dir$file <br>";
return true;
}
if(strpos($file,".") === 0 || strpos($file,".") !== false ) return true;
if(strpos($file,".") === false || strpos($dir,"/") === false)
{
$dir = $dir . $file . "/";
if(!is_dir($dir)) return false;
$dh = opendir($dir);
while(($file = readdir($dh)) != false)
{
read_dir($dir,$file); //遞歸調(diào)用
}
}
}
function clear_caches()
{
$dir = "./temp/"; //要清除的PHP緩存文件目錄
if(!is_dir($dir)) die("It is not a dir");
$dh = opendir($dir);
while(($file = readdir($dh) )!=false)
{
//var_dump($file);
read_dir($dir,$file);
}
}
?>
2、遍歷目錄中所有文件
<html>
<head>
<meta http-enquiv="Content-Type" content="text/html;charset=gb2312">
<title>查看目錄</title>
</head>
<body>
<table width="600" align="center">
<tr>
<th width="50%">文件名</th>
<th width="25%">修改時間</th>
<th width="25%">文件大?。╧)</th>
</tr>
<?php
//$dir = "./admin/";
$dir = "c:/";
$up_dir = "上級目錄";
$up_url = $dir;
if(isset($_REQUEST['act']) && $_REQUEST['act']=='list_dir')
{
if(emptyempty($_REQUEST['dir']))
{
$up_dir="目錄為空!";
}
$dir = isset($_REQUEST['dir']) ? $_REQUEST['dir'] : $dir;
}
if(!is_dir($dir))
{
$up_dir="無效目錄!";
}
?>
<tr>
<td colspan="3">
<?php
if(strpos($up_dir,"上級目錄")!==false)
{
//if($up_url=="") echo $up_dir;
if($dir != "./admin/")
{
$up_url = substr($dir,0,-1);
$k = strrpos($up_url,"/");
$up_url = substr($up_url,0,$k-strlen($up_url));
$up_url = $up_url ."/";
}
echo "<a href=\"test.php?act=list_dir&dir=$up_url\">$up_dir</a>";
}
else
{
echo $up_dir;
die();
}
?>
</td>
</tr>
<?php
$up_dir = $dir;
$dh = opendir($dir);
while(($file=readdir($dh)) != false)
{
if($file != "." && $file != ".." && $file != ".svn" )
{
if(strpos($file,".") !==false)
{
$time = date("Y-m-d H:i:s", filectime($dir . $file));
$size = filesize($dir . $file)/1000;
echo "<tr><td>$file</td><td>$time</td><td>$size</td></tr>";
}
else
{
$time = date("Y-m-d H:i:s.", filectime($dir . $file));
$size = filesize($dir . $file)/1000;
$dir = $dir . $file ."/";
echo "<tr><td><a href =\"test.php?act=list_dir&dir=$dir\">$file</a></td><td>$time</td><td>$size</td></tr>";
$dir = $up_dir;
}
}
}
?>
</table>
<?php die(); ?>
</body>
</html>
1、清除PHP緩存文件
復(fù)制代碼 代碼如下:
<?php
function read_dir($dir,$file)
{
$a =strpos($file,".php");
if($a>0)
{
unlink($dir . $file);
echo "delete $dir$file <br>";
return true;
}
if(strpos($file,".") === 0 || strpos($file,".") !== false ) return true;
if(strpos($file,".") === false || strpos($dir,"/") === false)
{
$dir = $dir . $file . "/";
if(!is_dir($dir)) return false;
$dh = opendir($dir);
while(($file = readdir($dh)) != false)
{
read_dir($dir,$file); //遞歸調(diào)用
}
}
}
function clear_caches()
{
$dir = "./temp/"; //要清除的PHP緩存文件目錄
if(!is_dir($dir)) die("It is not a dir");
$dh = opendir($dir);
while(($file = readdir($dh) )!=false)
{
//var_dump($file);
read_dir($dir,$file);
}
}
?>
2、遍歷目錄中所有文件
復(fù)制代碼 代碼如下:
<html>
<head>
<meta http-enquiv="Content-Type" content="text/html;charset=gb2312">
<title>查看目錄</title>
</head>
<body>
<table width="600" align="center">
<tr>
<th width="50%">文件名</th>
<th width="25%">修改時間</th>
<th width="25%">文件大?。╧)</th>
</tr>
<?php
//$dir = "./admin/";
$dir = "c:/";
$up_dir = "上級目錄";
$up_url = $dir;
if(isset($_REQUEST['act']) && $_REQUEST['act']=='list_dir')
{
if(emptyempty($_REQUEST['dir']))
{
$up_dir="目錄為空!";
}
$dir = isset($_REQUEST['dir']) ? $_REQUEST['dir'] : $dir;
}
if(!is_dir($dir))
{
$up_dir="無效目錄!";
}
?>
<tr>
<td colspan="3">
<?php
if(strpos($up_dir,"上級目錄")!==false)
{
//if($up_url=="") echo $up_dir;
if($dir != "./admin/")
{
$up_url = substr($dir,0,-1);
$k = strrpos($up_url,"/");
$up_url = substr($up_url,0,$k-strlen($up_url));
$up_url = $up_url ."/";
}
echo "<a href=\"test.php?act=list_dir&dir=$up_url\">$up_dir</a>";
}
else
{
echo $up_dir;
die();
}
?>
</td>
</tr>
<?php
$up_dir = $dir;
$dh = opendir($dir);
while(($file=readdir($dh)) != false)
{
if($file != "." && $file != ".." && $file != ".svn" )
{
if(strpos($file,".") !==false)
{
$time = date("Y-m-d H:i:s", filectime($dir . $file));
$size = filesize($dir . $file)/1000;
echo "<tr><td>$file</td><td>$time</td><td>$size</td></tr>";
}
else
{
$time = date("Y-m-d H:i:s.", filectime($dir . $file));
$size = filesize($dir . $file)/1000;
$dir = $dir . $file ."/";
echo "<tr><td><a href =\"test.php?act=list_dir&dir=$dir\">$file</a></td><td>$time</td><td>$size</td></tr>";
$dir = $up_dir;
}
}
}
?>
</table>
<?php die(); ?>
</body>
</html>
您可能感興趣的文章:
- php遍歷目錄與文件夾的多種方法詳解
- PHP遍歷某個目錄下的所有文件和子文件夾的實現(xiàn)代碼
- php 遍歷顯示文件夾下所有目錄、所有文件的函數(shù),沒有分頁的代碼
- PHP 遠(yuǎn)程文件管理,可以給表格排序,遍歷目錄,時間排序
- PHP使用glob函數(shù)遍歷目錄或文件夾的方法
- PHP遞歸遍歷指定目錄的文件并統(tǒng)計文件數(shù)量的方法
- PHP遍歷并打印指定目錄下所有文件實例
- php實現(xiàn)遍歷目錄并刪除指定文件中指定內(nèi)容
- PHP不用遞歸遍歷目錄下所有文件的代碼
- PHP采用自定義函數(shù)實現(xiàn)遍歷目錄下所有文件的方法
- php遍歷刪除整個目錄及文件的方法
- php遍歷替換目錄下文件指定內(nèi)容的方法
- PHP遍歷目錄文件的常用方法小結(jié)
相關(guān)文章
PHP中調(diào)用ASP.NET的WebService的代碼
創(chuàng)建一個C#的web service,這個就不多說了,我用vs2008的wizard創(chuàng)建了一個最簡單的,讓它運行在:http://localhost/webservice1/service1.asmx2011-04-04PHP導(dǎo)出EXCEL快速開發(fā)指南--PHPEXCEL的使用詳解
本篇文章是對PHPEXCEL的使用進行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06ThinkPHP使用心得分享-上傳類UploadFile的使用
ThinkPHP中的UploadFile類用于處理文件上傳,本文小總結(jié)了一下關(guān)于學(xué)習(xí)過程中對UploadFile類的使用方法。2014-05-05fleaphp crud操作之findByField函數(shù)的使用方法
fleaphp crud操作之findByField函數(shù)的用法分享,需要的朋友可以參考下。2011-04-04提高PHP性能的編碼技巧以及性能優(yōu)化詳細(xì)解析
include文件時盡量使用絕對路徑,因為它避免了PHP去include_path里查找文件的速度,解析操作系統(tǒng)路徑所需的時間會更少2013-08-08PHP用mysql_insert_id()函數(shù)獲得剛插入數(shù)據(jù)或當(dāng)前發(fā)布文章的ID
向mysql 插入數(shù)據(jù)時,很多時候我們想知道剛剛插入數(shù)據(jù)的id,這對我們很有用。下面這篇文章就詳細(xì)給大家介紹了利用mysql_insert_id()函數(shù)獲得剛插入數(shù)據(jù)或當(dāng)前發(fā)布文章的ID,有需要的朋友們可以參考借鑒,感興趣的朋友們下面來一起看看吧。2016-11-11php array_intersect比array_diff快(附詳細(xì)的使用說明)
在PHP中,使用 array_intersect 求兩個數(shù)組的交集比使用 array_diff 求同樣兩個數(shù)組的并集要快。2011-07-07