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为php增加openssl模块的方法
Jun 14 PHP
PHP 基于Yii框架中使用smarty模板的方法详解
Jun 13 PHP
php实现水仙花数的4个示例分享
Apr 08 PHP
CodeIgniter框架URL路由总结
Sep 03 PHP
支持中文的PHP按字符串长度分割成数组代码
May 17 PHP
基于PHP实现商品成交时发送短信功能
May 11 PHP
PHP类型约束用法示例
Sep 28 PHP
php实现连接access数据库并转txt写入的方法
Feb 08 PHP
workerman结合laravel开发在线聊天应用的示例代码
Oct 30 PHP
安装docker和docker-compose实例详解
Jul 30 PHP
Thinkphp5.0 框架的请求方式与响应方式分析
Oct 14 PHP
PHP函数用法详解【初始化、嵌套、内置函数等】
Jun 02 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将会员数据导入到ucenter的代码
2010/07/18 PHP
如何取得中文字符串中出现次数最多的子串
2013/08/08 PHP
Laravel的throttle中间件失效问题解决方法
2016/10/09 PHP
解决form中action属性后面?传递参数 获取不到的问题
2017/07/21 PHP
PHP INT类型在内存中占字节详解
2019/07/20 PHP
php 比较获取两个数组相同和不同元素的例子(交集和差集)
2019/10/18 PHP
Js+XML 操作
2006/09/20 Javascript
仅IE9/10同时支持script元素的onload和onreadystatechange事件分析
2011/04/27 Javascript
ExtJS4 组件化编程,动态加载,面向对象,Direct
2011/05/12 Javascript
基于jQuery实现下拉收缩(展开与折叠)特效
2012/12/25 Javascript
javascript实现可改变滚动方向的无缝滚动实例
2013/06/17 Javascript
js操纵dom生成下拉列表框的方法
2014/02/24 Javascript
Javascript中Array用法实例分析
2015/06/13 Javascript
javascript特殊日历控件分享
2016/03/07 Javascript
解决bootstrap导航栏navbar在IE8上存在缺陷的方法
2016/07/01 Javascript
JSP防止网页刷新重复提交数据的几种方法
2016/11/19 Javascript
详解ionic本地相册、拍照、裁剪、上传(单图完全版)
2017/10/10 Javascript
nodejs实现大文件(在线视频)的读取
2020/10/16 NodeJs
AngularJS日期格式化常见操作实例分析
2018/05/17 Javascript
nodejs之koa2请求示例(GET,POST)
2018/08/07 NodeJs
vue实现将一个数组内的相同数据进行合并
2019/11/07 Javascript
Python判断某个用户对某个文件的权限
2016/10/13 Python
Python网络爬虫神器PyQuery的基本使用教程
2018/02/03 Python
python2.7安装图文教程
2018/03/13 Python
Python数据分析matplotlib设置多个子图的间距方法
2018/08/03 Python
Python面向对象程序设计之私有变量,私有方法原理与用法分析
2020/03/23 Python
HTML5中通过li-canvas轻松实现单图、多图、圆角图绘制,单行文字、多行文字等
2018/11/30 HTML / CSS
编写html5时调试发现脚本php等网页js、css等失效
2013/12/31 HTML / CSS
.NET里面什么时候需要调用垃圾回收
2015/06/01 面试题
电大物流学生的自我评价
2013/10/25 职场文书
电子商务毕业生求职信
2013/11/10 职场文书
医学专业毕业生个人的求职信
2013/12/04 职场文书
课程设计心得体会
2013/12/28 职场文书
主持词开场白
2014/03/17 职场文书
临时工聘用合同协议书
2014/10/29 职场文书
解决MySQL存储时间出现不一致的问题
2021/04/28 MySQL