遍历文件夹下所有文件,编辑删除

实例1、

 

 

<?php
      /*
       遍历文件夹; 功能:(a)可删除文件 (b)可编辑文本,网页文件 (c)可删除文件夹,前提是该文件夹为空 (d)可建立文件,文件夹,修改文件夹名称;
      */
    
      $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;
    }
?>
 

 

 

实例2、

 

<?php
      /*
       遍历文件夹; 功能:(a)可删除文件 (b)可编辑文本,网页文件 (c)可删除文件夹,前提是该文件夹为空 (d)可建立文件,文件夹,修改文件夹名称;
      */
    
      $path=dirname(__FILE__);

      // 指定文件夹
      $path=$path."\\";      

      if($_GET['folder'])
      {
          $path.=$_GET['folder']."\\";
      }

      echo "当前路径:",$path;

      //本页面路径,下面传回时将用到;
      $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 $path`));*/

        $handle=opendir($path);
        while ($file = readdir($handle)) {
             $s[]=$file;
        }

        closedir($handle);        
    
         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 操作文件夹 (遍历 计算大小)

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值