php遍历替换目录下文件指定内容的方法


Posted in PHP onNovember 10, 2016

本文实例讲述了php遍历替换目录下文件指定内容的方法。分享给大家供大家参考,具体如下:

在php中目录访问需要遍历了然后文件需要一个个打开进行访问操作了,下面我们来看一段php 替换目录下文件指定内容,具体如下:

/****************************
* 获取目录下的所有文件
* [$dir] 文件夹路径
****************************/
function deepScanDir($dir) {
    $fileArr = array ();
    $dirArr = array ();
    $dir = rtrim($dir, '//');
    if (is_dir($dir)) {
      $dirHandle = opendir($dir);
      while (false !== ($fileName = readdir($dirHandle))) {
        $subFile = $dir . DIRECTORY_SEPARATOR . $fileName;
        if (is_file($subFile)) {
          $fileArr[] = $subFile;
        }
        elseif (is_dir($subFile) && str_replace('.', '', $fileName) != '') {
          $dirArr[] = $subFile;
          $arr = $this->deepScanDir($subFile);
          $dirArr = array_merge($dirArr, $arr['dir']);
          $fileArr = array_merge($fileArr, $arr['file']);
        }
      }
      closedir($dirHandle);
    }
    return array (
      'dir' => $dirArr,
      'file' => $fileArr
    );
}
/*
* 替换成APP中可用的路径,在web文件夹中
*/
public function ok_web(){
    //查找字符
    $yuanlai = array(
      '"/resources/',
      '"/uploads/',
      '"/web/',
      'href="/"',
      '/web',
      'typedir+\'/\'+v.aid+"',
      'v.litpic',
    );
    //替换字符
    $tihuan = array(
      '"../resources/',
      '"../uploads/',
      '"',
      'href="../index.html"',
      '',
      'v.aid+"',
      '".."+v.litpic'
    );
    //查找的文件夹
    $dir = WEBROOT.'/app/web';
    //获取文件
    $dirs = $this->deepScanDir($dir);
    //文件字符串替换
    foreach($dirs['file'] as $file){
      $file = 'G:\hospital\hospital\admin\app\web\yiyuanzhuanjia.html';
      $txt = file_get_contents($file);
      $txt = str_replace($yuanlai,$tihuan,$txt);
      file_put_contents($file,$txt);echo $txt;exit;
    }
}

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
PHP.MVC的模板标签系统(一)
Sep 05 PHP
来自PHP.NET的入门教程
Oct 09 PHP
同台服务器使用缓存APC效率高于Memcached的演示代码
Feb 16 PHP
PHP性能优化准备篇图解PEAR安装
Dec 05 PHP
php 无法加载mysql的module的时候的配置的解决方案引发的思考
Jan 27 PHP
PHP乱码问题,UTF-8乱码常见问题小结
Apr 09 PHP
PHP中copy on write写时复制机制介绍
May 13 PHP
PHP捕获Fatal error错误的方法
Jun 11 PHP
PHP中的排序函数sort、asort、rsort、krsort、ksort区别分析
Aug 18 PHP
PHP MVC框架skymvc支持多文件上传
May 26 PHP
python进程与线程小结实例分析
Nov 11 PHP
Laravel框架Auth用户认证操作实例分析
Sep 29 PHP
php实现有序数组打印或排序的方法【附Python、C及Go语言实现代码】
Nov 10 #PHP
PHP数组生成XML格式数据的封装类实例
Nov 10 #PHP
Linux平台php命令行程序处理管道数据的方法
Nov 10 #PHP
PHP中功能强大却很少使用的函数实例小结
Nov 10 #PHP
php事件驱动化设计详解
Nov 10 #PHP
PHP的消息通信机制测试实例
Nov 10 #PHP
PHP使用GD库输出汉字的方法【测试可用】
Nov 10 #PHP
You might like
php输出文字乱码的解决方法
2019/10/04 PHP
实例化php类时传参的方法分析
2020/06/05 PHP
理解Javascript_12_执行模型浅析
2010/10/18 Javascript
js左右弹性滚动对联广告代码分享
2014/02/19 Javascript
js propertychange和oninput事件
2014/09/28 Javascript
js实现的后台左侧管理菜单代码
2015/09/11 Javascript
JS使用面向对象技术实现的tab选项卡效果示例
2017/02/28 Javascript
vue调用高德地图实例代码
2017/04/28 Javascript
javascript实现自由编辑图片代码详解
2019/06/21 Javascript
浅谈element中InfiniteScroll按需引入的一点注意事项
2020/06/05 Javascript
Django中URL视图函数的一些高级概念介绍
2015/07/20 Python
python函数局部变量用法实例分析
2015/08/04 Python
解决Python中字符串和数字拼接报错的方法
2016/10/23 Python
听歌识曲--用python实现一个音乐检索器的功能
2016/11/15 Python
Python基于OpenCV实现视频的人脸检测
2018/01/23 Python
Python实现FTP文件传输的实例
2019/07/07 Python
基于python修改srt字幕的时间轴
2020/02/03 Python
基于Tensorflow批量数据的输入实现方式
2020/02/05 Python
配置python的编程环境之Anaconda + VSCode的教程
2020/03/29 Python
keras 权重保存和权重载入方式
2020/05/21 Python
HTML5 placeholder(空白提示)属性介绍
2013/08/07 HTML / CSS
爱尔兰家电数码商城:Currys PC World爱尔兰
2016/07/23 全球购物
GUESS Factory加拿大:牛仔裤、服装及配饰
2019/09/20 全球购物
What is EJB
2016/07/22 面试题
万户网络JAVA程序员岗位招聘笔试试卷
2013/01/08 面试题
开业庆典邀请函
2014/01/08 职场文书
教师职位说明书
2014/07/29 职场文书
政风行风建设整改方案
2014/10/27 职场文书
故意伤害人身损害赔偿协议书
2014/11/19 职场文书
2014年创卫工作总结
2014/11/24 职场文书
出生公证书
2015/01/23 职场文书
同学聚会感言一句话
2015/07/30 职场文书
分享一些Java的常用工具
2021/06/11 Java/Android
Redis分布式锁Redlock的实现
2021/08/07 Redis
Java 死锁解决方案
2022/05/11 Java/Android
Python OpenGL基本配置方式
2022/05/20 Python