分享删除指定目录.php.bak源代码并生成日志文件
本帖最后由 V哥传奇 于 2014-11-19 14:55 编辑<?php
header("Content-Type:text/html; charset=UTF-8");
$dir = $_SERVER['DOCUMENT_ROOT'];
$ndir1 = '/test';
$ndir2 = '/blog';
$tdir1 = $dir.$ndir1;
$tdir2 = $dir.$ndir2;
function rmdirs($dir){
if(file_exists($dir)){
$handle=opendir($dir);
while($file = readdir($handle)){
if($file!='.' && $file!='..'){
$subFile = $dir.'/'.$file;
if(is_dir($subFile)){
rmdirs($subFile);
}else{
$info=pathinfo($subFile);
$dirname = $info['dirname'];
if(@$info['extension']=="bak"){
$rows[$dirname][] = $info['basename'];
}
}
}
}
if(isset($rows) && !empty($rows)){
foreach($rows as $k=>$row){
foreach(@$row as $v)
{
$filenames = $k.'/'.$v;
$aa = strstr($v,'.');
if($aa=".php.bak"){
myLog($k,$v);
unlink($filenames);
}else{
echo "删除文件失败";
}
}
}
}
}
closedir($handle);
}
function myLog($rzDir,$f){
$filtxt = 'bak.log';
$myLog = $_SERVER['DOCUMENT_ROOT']."/myLog";
if(!file_exists($myLog)){
$rf = @mkdir("{$_SERVER['DOCUMENT_ROOT']}/myLog",0777,true);
if($rf){
echo "创建目录{$myLog}成功<br/>";
}else{
echo "创建目录失败!";
return false;
}
}
$files =$myLog.'/'.$filtxt;
if(!file_exists($files)){
fopen($files,'w') or die('打开<b>'.$files.'</b>文件失败!!');
}
$handle = fopen($files,'a+') or die('打开<b>'.$files.'</b>文件失败!!');
$time =date("Y-m-d H:i:s",time());
$contents="该{$rzDir}目录下{$f}文件于{$time}执行删除操作\n";
$bak = fwrite($handle, $contents);
}
function reLog($dir){
rmdirs($dir);
echo "关于{$dir}/下对.php.bak的操作日志文件已更新,请查看</br>";
}
reLog($tdir2); 没人来,只有我自己沙发了,这段代码纯粹本人手敲出来的,如有不足,希望大家多多提点意见,我好纠正!谢谢!
页:
[1]