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 相关文章推荐
IIS下配置Php+Mysql+zend的图文教程
Dec 08 PHP
PHP提取中文首字母
Apr 09 PHP
解决163/sohu/sina不能够收到PHP MAIL函数发出邮件的问题
Mar 13 PHP
PHP中遍历stdclass object的实现代码
Jun 09 PHP
php+js实现异步图片上传实例分享
Jun 02 PHP
PHP 面向对象程序设计(oop)学习笔记 (五) - PHP 命名空间
Jun 12 PHP
Laravel 5 框架入门(三)
Apr 09 PHP
微信公众号开发之通过接口删除菜单
Feb 20 PHP
Yii2 中实现单点登录的方法
Mar 09 PHP
PHP实现通过文本文件统计页面访问量功能示例
Feb 13 PHP
laravel Validator ajax返回错误信息的方法
Sep 29 PHP
PHP扩展类型及安装方式解析
Apr 27 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 cookies中删除的一般赋值方法
2011/05/07 PHP
php合并数组中相同元素的方法
2014/11/13 PHP
php实现编辑和保存文件的方法
2015/07/20 PHP
Laravel学习笔记之Artisan命令生成自定义模板的方法
2018/11/22 PHP
php计数排序算法的实现代码(附四个实例代码)
2020/03/31 PHP
学习JavaScript正则表达式
2015/11/13 Javascript
浅析Javascript匿名函数与自执行函数
2016/02/06 Javascript
基于Layer+jQuery的自定义弹框
2020/05/26 Javascript
NodeJs使用Mysql模块实现事务处理实例
2017/05/31 NodeJs
Vue 页面跳转不用router-link的实现代码
2018/04/12 Javascript
vue实现动态添加数据滚动条自动滚动到底部的示例代码
2018/07/06 Javascript
移动端滑动切换组件封装 vue-swiper-router实例详解
2018/11/25 Javascript
微信小程序上线发布流程图文详解
2019/05/06 Javascript
Vue函数式组件-你值得拥有
2019/05/09 Javascript
vue内置组件component--通过is属性动态渲染组件操作
2020/07/28 Javascript
微信小程序tab左右滑动切换功能的实现代码
2021/02/08 Javascript
[07:09]2014DOTA2国际邀请赛-Newbee再次发威成功晋级决赛
2014/07/19 DOTA
[03:07]完美世界DOTA2联赛PWL DAY10 决赛集锦
2020/11/11 DOTA
Python学习资料
2007/02/08 Python
python 从远程服务器下载日志文件的程序
2013/02/10 Python
Python中用format函数格式化字符串的用法
2015/04/08 Python
python实现域名系统(DNS)正向查询的方法
2016/04/19 Python
详解TensorFlow查看ckpt中变量的几种方法
2018/06/19 Python
Python 类的特殊成员解析
2018/06/20 Python
python 接收处理外带的参数方法
2018/12/03 Python
使用PyQt4 设置TextEdit背景的方法
2019/06/14 Python
python正则表达式匹配不包含某几个字符的字符串方法
2019/07/23 Python
Python使用APScheduler实现定时任务过程解析
2019/09/11 Python
Python中BeautifuSoup库的用法使用详解
2019/11/15 Python
Java程序员面试90题
2013/10/19 面试题
护士实习鉴定范文
2013/12/22 职场文书
2014年应届大学生毕业自我鉴定
2014/01/31 职场文书
材料工程专业毕业生求职信
2014/03/04 职场文书
导游欢迎词范文
2015/01/23 职场文书
tensorboard 可视化之localhost:6006不显示的解决方案
2021/05/22 Python
JavaScript函数柯里化
2021/11/07 Javascript