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 相关文章推荐
mysql 的 like 问题,超强毕杀记!!!
Jan 18 PHP
收集的DedeCMS一些使用经验
Mar 17 PHP
PHP调用Twitter的RSS的实现代码
Mar 10 PHP
php删除字符串末尾子字符,删除开始字符,删除两端字符(实现代码)
Jun 27 PHP
成为好程序员必须避免的5个坏习惯
Jul 04 PHP
WordPress中对访客评论功能的一些优化方法
Nov 24 PHP
php编程中echo用逗号和用点号连接的区别
Mar 26 PHP
thinkPHP5 tablib标签库自定义方法详解
May 10 PHP
OAuth认证协议中的HMACSHA1加密算法(实例)
Oct 25 PHP
PHP children()函数讲解
Feb 03 PHP
php报错502badgateway解决方法
Oct 11 PHP
php实现根据身份证获取精准年龄
Feb 26 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程序开发范例学习之表单 获取文本框的值
2011/08/08 PHP
thinkphp3.0 模板中函数的使用
2012/11/13 PHP
php获取数组长度的方法(有实例)
2013/10/27 PHP
MongoDB在PHP中的常用操作小结
2014/02/20 PHP
PHP版本的选择5.2.17 5.3.27 5.3.28 5.4 5.5兼容性问题分析
2016/04/04 PHP
基于Laravel 5.2 regex验证的正确写法
2019/09/29 PHP
基于jQuery的倒计时实现代码
2012/05/30 Javascript
JS 实现Table相同行的单元格自动合并示例代码
2013/08/27 Javascript
js打开windows上的可执行文件示例
2014/05/27 Javascript
JavaScript数组迭代器实例分析
2015/06/09 Javascript
javascript父子页面通讯实例详解
2015/07/17 Javascript
jQuery实用技巧必备(中)
2015/11/03 Javascript
javascript实现计时器的简单方法
2016/02/21 Javascript
JavaScript比较当前时间是否在指定时间段内的方法
2016/08/02 Javascript
完美解决IE不支持Data.parse()的问题
2016/11/24 Javascript
微信小程序开发之Tabbar实例详解
2017/01/09 Javascript
js中getBoundingClientRect的作用及兼容方案详解
2018/02/01 Javascript
详解vue的diff算法原理
2018/05/20 Javascript
微信小程序实时聊天WebSocket
2018/07/05 Javascript
bootstrap 日期控件 datepicker被弹出框dialog覆盖的解决办法
2019/07/09 Javascript
微信小程序录音实现功能并上传(使用node解析接收)
2020/02/26 Javascript
实例分析javascript中的异步
2020/06/02 Javascript
ES6 Generator基本使用方法示例
2020/06/06 Javascript
基于python yield机制的异步操作同步化编程模型
2016/03/18 Python
python 网络编程详解及简单实例
2017/04/25 Python
python 删除非空文件夹的实例
2018/04/26 Python
python中利用numpy.array()实现俩个数值列表的对应相加方法
2019/08/26 Python
Keras 数据增强ImageDataGenerator多输入多输出实例
2020/07/03 Python
说说你所熟悉或听说过的j2ee中的几种常用模式?及对设计模式的一些看法
2012/05/24 面试题
班组长安全职责
2014/01/05 职场文书
有多年工作经验的自我评价
2014/03/02 职场文书
医学生就业推荐表自我鉴定
2014/03/26 职场文书
2015年度个人教学工作总结
2015/05/20 职场文书
初三数学教学反思
2016/02/17 职场文书
golang生成vcf通讯录格式文件详情
2022/03/25 Golang
PostgreSQL怎么创建分区表详解
2022/06/25 PostgreSQL