php实现的遍历文件夹下所有文件,编辑删除
程序员文章站
2022-06-12 07:53:44
复制代码 代码如下:
<?php
/*
遍历文件夹; 功能:(a)可删除文件 (b)可编辑文本,网页文件 (c)可删除文件夹,前提是该文件夹为空 (d)可建立文件,文件夹,修改文件夹名称;
lost63.com原创, 转载请注明出处. 交流qq:35501547
*/
$path=$document_root;
$path=str_replace("/","\\",$path);
//指定文件夹
$path=$path."\\";
if($_get['folder'])
{
$path.=$_get['folder']."\\";
}
//本页面路径,下面传回时将用到;
$url=$_server['php_self'];
//如果是文件夹,将加上链接;
function folder($path,$str)
{
if(filetype($path.$str)=="dir")
{
return "<a href=\"?folder=".$_get['folder']."\\".$str."\">$str</a>";
}else{
return $str;
}
}
switch($_get['action'])
{
case "del";
if($_get['type']=="file")
{
unlink($_get['path']);
}else{
rmdir($_get['path']);
}
echo "<script type=\"text/javascript\">alert('恭喜,删除成功!');location.href=\"".$url."\";</script>";
break;
case "edit";
if($_get['type']=="file")
{
$file=fopen($_get['path'],"r");
while(!feof($file))
{
$result.=fgets($file,9999);
}
fclose($file);
echo '<form name="form1" method="post" action="?action=editsave&path='.$_get['path'].'&type='.$_get['type'].'">
<table width="100%" border="0" cellpadding="0" cellspacing="1" bgcolor="#cccccc">
<tr>
<td height="25" bgcolor="#99cc00">>><strong> 编辑文件</strong> > <a href="'.$url.'">返回</a></td>
</tr>
<tr>
<td height="25" align="left" bgcolor="#ffffcc">->文件名:'.$_get['path'].'</td>
</tr>
<tr>
<td align="center" bgcolor="#ffffff"><textarea name="textarea" cols="135" rows="20">'.$result.'</textarea></td>
</tr>
<tr>
<td align="center" bgcolor="#ffffff"><input type="submit" name="submit" value="提交">
<input type="reset" name="submit2" value="重置"></td>
</tr>
</table>
</form>';
}else{
echo '<form name="form1" method="post" action="?action=dir_rename&path='.$_get['path'].'&type='.$_get['type'].'">
<table width="100%" border="0" cellpadding="0" cellspacing="1" bgcolor="#cccccc">
<tr>
<td height="25" bgcolor="#99cc00">>><strong> 新建文件</strong> > <a href="'.$url.'">返回</a></td>
</tr>
<tr>
<td height="25" align="left" bgcolor="#ffffcc">->文件夹更名:
<input name="filename" type="text" value="'.$_get['path'].'" size="50"></td>
</tr>
<tr>
<td align="center" bgcolor="#ffffff"><input type="submit" name="submit" value="提交">
<input type="reset" name="submit2" value="重置"></td>
</tr>
</table>
</form>';
}
break;
case "editsave";
$file=fopen($_get['path'],"w");
fwrite($file,$_post['textarea']);
fclose($file);
echo "<script type=\"text/javascript\">alert('恭喜,编辑成功!');location.href=\"".$url."\";</script>";
break;
case "addfile";
echo '<form name="form1" method="post" action="?action=filesave&path='.$_get['path'].'">
<table width="100%" border="0" cellpadding="0" cellspacing="1" bgcolor="#cccccc">
<tr>
<td height="25" bgcolor="#99cc00">>><strong> 新建文件</strong> > <a href="'.$url.'">返回</a></td>
</tr>
<tr>
<td height="25" align="left" bgcolor="#ffffcc">->文件名:
<input name="filename" type="text" value="'.$_get['path'].'" size="50"></td>
</tr>
<tr>
<td align="center" bgcolor="#ffffff"><textarea name="textarea" cols="135" rows="20">输入内容
</textarea></td>
</tr>
<tr>
<td align="center" bgcolor="#ffffff"><input type="submit" name="submit" value="提交">
<input type="reset" name="submit2" value="重置"></td>
</tr>
</table>
</form>';
break;
case "filesave";
//包含点则建立文件,否则建立文件夹
if(strpos($_post['filename'],"."))
{
$file=fopen($_post['filename'],"w");
fwrite($file,$_post['textarea']);
fclose($file);
}else{
//文件夹若存在则退出,不存在则建立!
if(file_exists($_post['filename']))
{
exit;
}else{
mkdir($_post['filename']);
}
}
echo "<script type=\"text/javascript\">alert('恭喜,".$_post['filename']."建立成功!');location.href=\"".$url."\";</script>";
break;
case "dir_rename";
rename($_get['path'],$_post['filename']);
echo "<script type=\"text/javascript\">alert('恭喜,".$_post['filename']."改名成功!');location.href=\"".$url."\";</script>";
break;
default:
$s=explode("\n",trim(`dir/b/o:gn $path`));
echo '<table width="100%" border="0" cellpadding="0" cellspacing="1" bgcolor="#cccccc">
<tr>
<td height="25" colspan="4" bgcolor="#99cc00">>><strong> 文件管理</strong> > <a href="?action=addfile&path='.$path.'">建立文件</a> > <a href="'.$url.'">返回</a></td>
</tr>
<tr>
<td height="25" align="center" bgcolor="#ffffcc">文件/文件夹</td>
<td align="center" bgcolor="#ffffcc">文件属性</td>
<td align="center" bgcolor="#ffffcc">文件大小</td>
<td align="center" bgcolor="#ffffcc">操作</td>
</tr>';
foreach($s as $value)
{
echo '
<tr>
<td height="25" bgcolor="#ffffff">'.folder($path,$value).'</td>
<td align="center" bgcolor="#ffffff">'.filetype($path.$value).'</td>
<td align="right" bgcolor="#ffffff">'.round(filesize($path.$value)/1024).'kb</td>
<td align="center" bgcolor="#ffffff"><a href="?action=edit&path='.$path.'\\'.$value.'&type='.filetype($path.$value).'">编辑</a> | <a href="?action=del&path='.$path.'\\'.$value.'&type='.filetype($path.$value).'" onclick="return confirm(\'确定删除->'.$value.'\');">删除</a></td>
</tr>';
}
echo "</table>";
break;
}
?>
复制代码 代码如下:
<?php
/*
遍历文件夹; 功能:(a)可删除文件 (b)可编辑文本,网页文件 (c)可删除文件夹,前提是该文件夹为空 (d)可建立文件,文件夹,修改文件夹名称;
lost63.com原创, 转载请注明出处. 交流qq:35501547
*/
$path=$document_root;
$path=str_replace("/","\\",$path);
//指定文件夹
$path=$path."\\";
if($_get['folder'])
{
$path.=$_get['folder']."\\";
}
//本页面路径,下面传回时将用到;
$url=$_server['php_self'];
//如果是文件夹,将加上链接;
function folder($path,$str)
{
if(filetype($path.$str)=="dir")
{
return "<a href=\"?folder=".$_get['folder']."\\".$str."\">$str</a>";
}else{
return $str;
}
}
switch($_get['action'])
{
case "del";
if($_get['type']=="file")
{
unlink($_get['path']);
}else{
rmdir($_get['path']);
}
echo "<script type=\"text/javascript\">alert('恭喜,删除成功!');location.href=\"".$url."\";</script>";
break;
case "edit";
if($_get['type']=="file")
{
$file=fopen($_get['path'],"r");
while(!feof($file))
{
$result.=fgets($file,9999);
}
fclose($file);
echo '<form name="form1" method="post" action="?action=editsave&path='.$_get['path'].'&type='.$_get['type'].'">
<table width="100%" border="0" cellpadding="0" cellspacing="1" bgcolor="#cccccc">
<tr>
<td height="25" bgcolor="#99cc00">>><strong> 编辑文件</strong> > <a href="'.$url.'">返回</a></td>
</tr>
<tr>
<td height="25" align="left" bgcolor="#ffffcc">->文件名:'.$_get['path'].'</td>
</tr>
<tr>
<td align="center" bgcolor="#ffffff"><textarea name="textarea" cols="135" rows="20">'.$result.'</textarea></td>
</tr>
<tr>
<td align="center" bgcolor="#ffffff"><input type="submit" name="submit" value="提交">
<input type="reset" name="submit2" value="重置"></td>
</tr>
</table>
</form>';
}else{
echo '<form name="form1" method="post" action="?action=dir_rename&path='.$_get['path'].'&type='.$_get['type'].'">
<table width="100%" border="0" cellpadding="0" cellspacing="1" bgcolor="#cccccc">
<tr>
<td height="25" bgcolor="#99cc00">>><strong> 新建文件</strong> > <a href="'.$url.'">返回</a></td>
</tr>
<tr>
<td height="25" align="left" bgcolor="#ffffcc">->文件夹更名:
<input name="filename" type="text" value="'.$_get['path'].'" size="50"></td>
</tr>
<tr>
<td align="center" bgcolor="#ffffff"><input type="submit" name="submit" value="提交">
<input type="reset" name="submit2" value="重置"></td>
</tr>
</table>
</form>';
}
break;
case "editsave";
$file=fopen($_get['path'],"w");
fwrite($file,$_post['textarea']);
fclose($file);
echo "<script type=\"text/javascript\">alert('恭喜,编辑成功!');location.href=\"".$url."\";</script>";
break;
case "addfile";
echo '<form name="form1" method="post" action="?action=filesave&path='.$_get['path'].'">
<table width="100%" border="0" cellpadding="0" cellspacing="1" bgcolor="#cccccc">
<tr>
<td height="25" bgcolor="#99cc00">>><strong> 新建文件</strong> > <a href="'.$url.'">返回</a></td>
</tr>
<tr>
<td height="25" align="left" bgcolor="#ffffcc">->文件名:
<input name="filename" type="text" value="'.$_get['path'].'" size="50"></td>
</tr>
<tr>
<td align="center" bgcolor="#ffffff"><textarea name="textarea" cols="135" rows="20">输入内容
</textarea></td>
</tr>
<tr>
<td align="center" bgcolor="#ffffff"><input type="submit" name="submit" value="提交">
<input type="reset" name="submit2" value="重置"></td>
</tr>
</table>
</form>';
break;
case "filesave";
//包含点则建立文件,否则建立文件夹
if(strpos($_post['filename'],"."))
{
$file=fopen($_post['filename'],"w");
fwrite($file,$_post['textarea']);
fclose($file);
}else{
//文件夹若存在则退出,不存在则建立!
if(file_exists($_post['filename']))
{
exit;
}else{
mkdir($_post['filename']);
}
}
echo "<script type=\"text/javascript\">alert('恭喜,".$_post['filename']."建立成功!');location.href=\"".$url."\";</script>";
break;
case "dir_rename";
rename($_get['path'],$_post['filename']);
echo "<script type=\"text/javascript\">alert('恭喜,".$_post['filename']."改名成功!');location.href=\"".$url."\";</script>";
break;
default:
$s=explode("\n",trim(`dir/b/o:gn $path`));
echo '<table width="100%" border="0" cellpadding="0" cellspacing="1" bgcolor="#cccccc">
<tr>
<td height="25" colspan="4" bgcolor="#99cc00">>><strong> 文件管理</strong> > <a href="?action=addfile&path='.$path.'">建立文件</a> > <a href="'.$url.'">返回</a></td>
</tr>
<tr>
<td height="25" align="center" bgcolor="#ffffcc">文件/文件夹</td>
<td align="center" bgcolor="#ffffcc">文件属性</td>
<td align="center" bgcolor="#ffffcc">文件大小</td>
<td align="center" bgcolor="#ffffcc">操作</td>
</tr>';
foreach($s as $value)
{
echo '
<tr>
<td height="25" bgcolor="#ffffff">'.folder($path,$value).'</td>
<td align="center" bgcolor="#ffffff">'.filetype($path.$value).'</td>
<td align="right" bgcolor="#ffffff">'.round(filesize($path.$value)/1024).'kb</td>
<td align="center" bgcolor="#ffffff"><a href="?action=edit&path='.$path.'\\'.$value.'&type='.filetype($path.$value).'">编辑</a> | <a href="?action=del&path='.$path.'\\'.$value.'&type='.filetype($path.$value).'" onclick="return confirm(\'确定删除->'.$value.'\');">删除</a></td>
</tr>';
}
echo "</table>";
break;
}
?>
下一篇: EV网盘搜索神器使用教程
推荐阅读
-
遍历指定目录下的所有目录和文件的php代码_php技巧
-
PHP 删除文件夹及其文件夹下所有文件,
-
PHP中使用glob函数实现一句话删除某个目录下的所有文件
-
php删除与复制文件夹及其文件夹下所有文件的实现代码
-
php删除与复制文件夹及其文件夹下所有文件的实现代码_PHP教程
-
php文件操作小结(删除指定文件/获取文件夹下的文件名/读取文件夹下图片名),
-
php清空(删除)指定目录下的文件,不删除目录文件夹的实现代码,_PHP教程
-
PHP转换文件夹下所有文件编码的实现代码_PHP
-
php递归删除目录及多级子目录下所有文件的代码
-
请问PHP正规表达式获取指定文件夹里的所有图片名,再把这些相关图片删除的操作