php案例 批量删除某个目录下的文件

简介: php案例 批量删除某个目录下的文件

前言

为什么输出文件夹里面的文件+文件夹时,会出现. …呢?

这是系统自带的两个特殊隐藏目录。一个.是指代当前目录本身,一个…指代上级目录。平时隐藏了而已。你遍历出来不想显示直接在判断条件里加如果目录等于.或者…就不输出,直接跳过就完了

代码

index.php

<!DOCTYPE html>
<html lang="zh">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <style>
    table{
    border-collapse:collapse;
    border:1px solid #ccc;
    }
    table td{
    border:1px solid #ccc;
    line-height:22px;
    background:#eee;
    }
   </style>
  </head>
  <body>
  <?php
  $_POST['path'] = 'C:\Users\Administrator\Desktop\新建文件夹';//获取要删除的某一个目录下的文件。只删除文件哈
  if($_POST['path']){
    $path_start = $_POST['path']; //获取绝对路径
    $path = opendir($path_start); //打开目录
    ?>
  <center>批量删除目录文件</center>
  <form action='change.php' method='post'>
   <table border='0' cellspacing='0' cellpadding='0' width='450' align='center'>
    <tr align="left" bgcolor="#cccccc">
      <th>选择</th><th>文件名</th><th>类型</th>
    </tr>
    <?php
      $str = '';
      while($file=readdir($path)){
      $dir = $path_start."/".$file;     //获取完整的路径和文件名称
      $str .=  '<tr align=\'center\'>';
      $str .= '<td><input type="checkbox" value="'.$file.'" name="filename[]"></td>';
      $str .= '<td>'.$file.'</td>';                     //输出文件
         $str .= '<td>'.(filetype($dir)=='dir'?'文件夹':'文件').'</td>';//判断时文件还是文件夹
         $str .= '</tr>'; 
    }
    echo $str;
    ?>
   </table>
   <?php
  }
  ?>
  <center><input type="submit" value='批量删除'></center>//提交到//change.php文件中
  </form>
</body>
</html>

check.php

<?php
header('Content-type:text/html;charset=utf-8');//字符集为utf-8
if($_POST['filename']){//获取要删除的文件。可以是一个也可以是多个
  $temp = '';
  foreach($_POST['filename'] as $k=>$v){//遍历要删除的文件
    $temp.=' '.$v;
    unlink('C:/Users/Administrator/Desktop/新建文件夹/'.$v);//使用unlink删除文件。unlink不能喊出文件夹哦
  }
  echo "<script>alert('删除文件".$temp."成功!');location='index.php';</script>";//输出删除成功的标识
}
?>

效果


相关文章
|
2月前
|
设计模式 数据库连接 PHP
PHP中的设计模式:提升代码的可维护性与扩展性在软件开发过程中,设计模式是开发者们经常用到的工具之一。它们提供了经过验证的解决方案,可以帮助我们解决常见的软件设计问题。本文将介绍PHP中常用的设计模式,以及如何利用这些模式来提高代码的可维护性和扩展性。我们将从基础的设计模式入手,逐步深入到更复杂的应用场景。通过实际案例分析,读者可以更好地理解如何在PHP开发中应用这些设计模式,从而写出更加高效、灵活和易于维护的代码。
本文探讨了PHP中常用的设计模式及其在实际项目中的应用。内容涵盖设计模式的基本概念、分类和具体使用场景,重点介绍了单例模式、工厂模式和观察者模式等常见模式。通过具体的代码示例,展示了如何在PHP项目中有效利用设计模式来提升代码的可维护性和扩展性。文章还讨论了设计模式的选择原则和注意事项,帮助开发者在不同情境下做出最佳决策。
|
2月前
|
PHP
php常见问题,php.ini文件不存在或者找不到,mb_strlen()函数未定义系列问题,dll模块找不到的解决
本文介绍了解决PHP常见问题的步骤,包括定位和创建`php.ini`文件,以及解决`mb_strlen()`函数未定义和DLL模块加载错误的具体方法。
php常见问题,php.ini文件不存在或者找不到,mb_strlen()函数未定义系列问题,dll模块找不到的解决
|
10天前
|
JavaScript PHP
17 PHP 实现批量删除功能
路老师在本文中继续优化图书删除功能,实现批量删除图书。通过添加删除按钮、表格前的复选框以及实现PHP后端逻辑,展示了完整的删除流程和效果。
25 8
|
2月前
|
前端开发 PHP
php学习笔记-php文件表单上传-day06
本文介绍了PHP文件上传处理流程、预定义变量`$_FILES`的使用、文件上传状态代码以及文件上传实现函数。同时,通过一个文件上传的小例子,演示了文件上传表单的创建、文件上传表单处理的PHP页面编写以及运行测试输出。
php学习笔记-php文件表单上传-day06
|
2月前
|
缓存 监控 算法
分析慢日志文件来优化 PHP 脚本的性能
分析慢日志文件来优化 PHP 脚本的性能
|
2月前
进入靶场,出现一张照片,右击查看源代码,发现有一个注释的source.php文件
这段代码实现了一个网站上弹出的促销海报动画效果,包含一个关闭按钮。当促销海报弹出时,会在三秒后开始抖动一两下。海报使用固定定位居中显示,带有阴影和圆角,关闭按钮位于右上角。可以通过修改时间参数调整弹出时间。
20 0
|
2月前
|
安全 关系型数据库 MySQL
PHP与MySQL交互:从入门到实践
【9月更文挑战第20天】在数字时代的浪潮中,掌握PHP与MySQL的互动成为了开发动态网站和应用程序的关键。本文将通过简明的语言和实例,引导你理解PHP如何与MySQL数据库进行对话,开启你的编程之旅。我们将从连接数据库开始,逐步深入到执行查询、处理结果,以及应对常见的挑战。无论你是初学者还是希望提升技能的开发者,这篇文章都将为你提供实用的知识和技巧。让我们一起探索PHP与MySQL交互的世界,解锁数据的力量!
|
2月前
|
NoSQL 关系型数据库 MySQL
不是 PHP 不行了,而是 MySQL 数据库扛不住啊
【9月更文挑战第8天】这段内容讨论了MySQL在某些场景下面临的挑战及其原因,并指出这些问题不能完全归咎于MySQL本身。高并发读写压力、数据量增长以及复杂查询和事务处理都可能导致性能瓶颈。然而,应用程序设计不合理、系统架构不佳以及其他数据库选择和优化策略不足也是重要因素。综合考虑这些方面才能有效解决性能问题,而MySQL通过不断改进和优化,仍然是许多应用场景中的可靠选择。
140 9
|
3月前
|
存储 SQL 关系型数据库
PHP与MySQL交互的奥秘
【8月更文挑战第29天】在编程的世界里,PHP和MySQL就像是一对默契的舞伴,共同演绎着数据的交响曲。本文将带你探索它们之间的互动,从连接数据库到执行查询,再到处理结果,每一步都充满了节奏与和谐。我们将一起走进这段代码的旅程,感受数据流动的魅力。
|
10天前
|
SQL 关系型数据库 MySQL
12 PHP配置数据库MySQL
路老师分享了PHP操作MySQL数据库的方法,包括安装并连接MySQL服务器、选择数据库、执行SQL语句(如插入、更新、删除和查询),以及将结果集返回到数组。通过具体示例代码,详细介绍了每一步的操作流程,帮助读者快速入门PHP与MySQL的交互。
25 1