2019独角兽企业重金招聘Python工程师标准>>>

<?php

if (isset($_GET['dir'])){ //设置文件目录
        $basedir=$_GET['dir'];
    }else{
        $basedir = '.';
    }

$auto = 1;
    checkdir($basedir);

function checkdir($basedir){
        if ($dh = opendir($basedir)) {
            while (($file = readdir($dh)) !== false) {
                if ($file != '.' && $file != '..'){
                    if (!is_dir($basedir."/".$file)) {
                        
                        //自動查找BOM
                        echo "filename: $basedir/$file ".checkBOM("$basedir/$file")." <br>";
                        
                        //自動刪除緩存文件
                        $res = unlink("$basedir/$file");
                        $str = $res ? "filename: $basedir/$file is deleted <br>" : "filename: $basedir/$file is not deleted <br>";
                        echo $str;                
                    }else{
                        $dirname = $basedir."/".$file;
                        checkdir($dirname);
                    }
                }
            }

closedir($dh);
        }
    }

function checkBOM ($filename) {
        global $auto;
        $contents = file_get_contents($filename);
        $charset[1] = substr($contents, 0, 1);
        $charset[2] = substr($contents, 1, 1);
        $charset[3] = substr($contents, 2, 1);
        if (ord($charset[1]) == 239 && ord($charset[2]) == 187 && ord($charset[3]) == 191) {
            if ($auto == 1) {
                $rest = substr($contents, 3);
                rewrite ($filename, $rest);
                return ("<font color=red>BOM found, automatically removed._<a href=http://www.k686.com>http://www.k686.com</a></font>");
            } else {
                return ("<font color=red>BOM found.</font>");
            }
        }else return ("BOM Not Found.");
    }

function rewrite ($filename, $data) {
        $filenum = fopen($filename, "w");
        flock($filenum, LOCK_EX);
        fwrite($filenum, $data);
        fclose($filenum);
    }

转载于:https://my.oschina.net/u/1771585/blog/859782

PHP自动查找指定文件夹下所有文件BOM和删除所有文件相关推荐

  1. 自定义语义分割数据集(划分训练集与验证集)、并且将一个文件夹下的所有图片的名字存到txt文件

    目录 1.划分训练集.验证集与测试集 2.文件名称保存为txt 3.文件移动 4. 将数据集保存为.pkl格式以及读取.pkl格式文件 我们可以借助Pytorch从文件夹中读取数据集,十分方便,但是P ...

  2. 网易mumu模拟器文件夹下的NemuDrv.sys无法删除的原因及解决方法

    网易mumu模拟器文件夹下的NemuDrv.sys无法删除的原因及解决方法 因某种原因mumu模拟器无法打开也无法卸载,这时候只能手动去删除了.但结果发现mumu模拟器安装目录没法删除,经层层定位发现 ...

  3. python读取文件夹下所有文件名_python如何获取当前文件夹下所有文件名详解

    前言 本文主要给大家介绍了关于python获取当前文件夹下所有文件名的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧 os 模块下有两个函数: os.walk() os.li ...

  4. pandas合并文件夹下带有多个sheet的xlxs文件并写出csv文件

    之前写过用普通python库来合并文件,现在加强读写速度用pandas库来执行. 如果只读一个多sheet的excel文件,见代码1 代码1: #!/usr/bin/python3 # -*- cod ...

  5. python读取文件夹下所有txt_python如何批量读取txt文件

    python批量读取txt文件的方法:首先导入系统模块:然后将文件夹路径更改为需要批量读取的txt文件存放的路径:再调用系统模块得到该文件夹下的所有文件名称:最后遍历文件夹,读取txt文件. 如果文件 ...

  6. [日常] [Python] 批量将某个文件夹下的.ppt/.pptx/.pptm转换为.pdf文件,并且将其移入/ppt文件夹中

    Reference Python 3 – 批量将PPT转换为PDF_proplume的博客-CSDN博客 前提 安装comtypes库,需要用其操纵Microsoft PowerPoint. 命令行输 ...

  7. python导入模块不在同一文件夹下_Python小技之自定义不同文件夹下模块导入问题...

    一般在写一个项目的时候, 为了将项目模块化, 更加的清晰明了, 会将不同功能的模块放入不同的文件夹 项目如下: ├── spider│   └── spider.py # 爬虫文件└── utils├ ...

  8. 查看target/classes/.../dao/文件夹下,发现只有mapper的class文件,而没有xml文件 的解决方法。

    控制台报错:Invalid bound statement (not found): cn.e3mall.mapper.TbItemMapper.selectByExample Console界面的错 ...

  9. 通过adb打开Android系统中data文件夹下的app,database的的文件

    网上有太多的办法,看的眼花扰乱, 如果你的情况和我是类似的那么久这么做 首先测试机是小米4,系统是MUIU8 7.4.24开发版的,Android6.0.1 小米的手机这点好,在安全管理中就可以roo ...

  10. python将文件夹下的图片创建到一个ppt文件

    首先需要安装pptx库 pip install python-pptx 然后是代码(以png后缀为例): import os import pptx from pptx.util import Inc ...

最新文章

  1. JAVA垃圾回收机制-史上最容易理解看这一篇就够了
  2. 80端口被屏蔽解决方法,80端口穿透之NAT端口映射技术
  3. Linux平台安装MongoDB(亲测)
  4. 运行caffe自带的两个简单例子
  5. HTML的xmlns的作用
  6. uniapp 获取图片的高度_uniapp自定义切图
  7. 75-100-024-测试-MySQL 双表优化案例
  8. 外点罚函数matlab程序_关于图像轮廓识别的程序实现
  9. 从零基础入门Tensorflow2.0 ----八、39.4. gpu4
  10. 多关键字排序的c语言编程,常见排序——“计数排序(三关键字)”的源程序(C语言版)...
  11. 130242014049-魏俊斌-《电商系统分类模块》
  12. 华工校赛E-舞蹈链模板(9x9数独)
  13. linux网站如何添加swf支持,linux上查看swf文件.靠谱
  14. Layui的eleTree树式选择器使用
  15. HTTP通信安全和Web攻击技术
  16. 【经历分享】三本大学小菜鸡,最后四个月自学编程经验分享
  17. 父类指针可以指向子类对象
  18. Qt:QTableView(01) 的用法
  19. Android低功耗优化,基于Android嵌入式系统的低功耗优化
  20. [CTF]2021长安战疫 WP

热门文章

  1. Android 中的LayoutInflater的理解
  2. 以Windows服务方式运行.NET Core程序
  3. 2018-3-28Linux系统管理(16)计算机网络基础
  4. Docker-machine创建虚机时停在虚机启动的提示上,并且创建的虚机显示Ip Not found...
  5. [Win10应用开发] 使用 Windows 推送服务 (WNS)
  6. SmartFoxServer资料
  7. linux共享库及/etc/ld.so.conf文件的应用
  8. gevent 学习笔记一
  9. GetItemValue、Itemname使用方法
  10. MVC学习之分页 【转】