当前位置:首页 > 软件开发学习 > PHP学习 > 正文内容

php实现的遍历文件夹下所有文件的编辑删除

admin6年前 (2014-12-20)PHP学习832

  <?php

  /*

  遍历文件夹; 功能:(a)可删除文件 (b)可编辑文本,网页文件 (c)可删除文件夹,前提是该文件夹为空 (d)可建立文件,文件夹,修改文件夹名称;

  ipvb.cn原创, 转载请注明出处. 

  */

  $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;

  }

  ?>

扫描二维码推送至手机访问。

版权声明:本文由学无止境-开拓创新-ipvb学习网发布,如需转载请注明出处。

分享给朋友:

相关文章

php过滤危险html代码

用PHP过滤html里可能被利用来引入外部危险内容的代码。有些时候,需要让用户提交html内容,以便丰富用户发布的信息,当然,有些可能造成显示页面布局混乱的代码也在过滤范围内。以下是引用片段:#用户发...

PHP header() 函数

  PHP header() 函数  PHP HTTP 函数  定义和用法  header() 函数向客户端发送原始的 HTTP 报头。  认识到一点很重要,即必须在任何实际的输出被发送之前调用 he...

php的header来定义一个php页面为utf编码或GBK编码

  php的header来定义一个php页面为utf编码或GBK编码  php页面为utf编码  header("Content-type: text/html; charset=utf-8...

php的session优化

php的session优化

这个问题很多做php开发朋友应该都有遇到过,一个启用了session_start 页面,由于执行时间过长。导致通一个用户访问,另外一个很简单的启用session_start页面一直阻塞着。 直到第一个...

计算并输出1000000次字符串比较和数字比较的耗时

//9.代码:计算并输出1000000次字符串比较和数字比较的耗时。 $str1="123"; $str2="145"; $a=microtime(tru...

PHP语言的优势?

 随着移动互联网的兴起,互联网行业正向更加智能化的Web3.0时代迈进,中国互联网 行业进入了高速发展的势态,PHP语言已经为大部分企业广泛应用和重视(如:新浪、百度、腾讯、TOM、淘宝、搜...