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 相关文章推荐
如何使用脚本模仿登陆过程
Nov 22 PHP
用PHP实现的随机广告显示代码
Jun 14 PHP
php mysql索引问题
Jun 07 PHP
PHP批量生成缩略图的代码
Jul 19 PHP
phpMyAdmin 安装配置方法和问题解决
Jun 08 PHP
php学习笔记之 函数声明(二)
Jun 09 PHP
php判断页面是否是微信打开的示例(微信打开网页)
Apr 25 PHP
PHP实现UTF-8文件BOM自动检测与移除实例
Nov 05 PHP
PHP实现微信发红包程序
Aug 24 PHP
浅谈php中urlencode与rawurlencode的区别
Sep 05 PHP
php微信开发之关注事件
Jun 14 PHP
Laravel框架处理用户的请求操作详解
Dec 20 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中sql注入漏洞示例 sql注入漏洞修复
2014/01/24 PHP
PHP中file_exists函数不支持中文名的解决方法
2014/07/26 PHP
php通过Chianz.com获取IP地址与地区的方法
2015/01/14 PHP
PHP页面跳转操作实例分析(header方法)
2016/09/28 PHP
Yii2表单事件之Ajax提交实现方法
2017/05/04 PHP
PHP利用Mysql锁解决高并发的方法
2018/09/04 PHP
JQuery 图片延迟加载并等比缩放插件
2009/11/09 Javascript
解析js中获得父窗口链接getParent方法以及各种打开窗口的方法
2013/06/19 Javascript
[将免费进行到底]在Amazon的一年免费服务器上安装Node.JS, NPM和OurJS博客
2014/08/18 Javascript
node.js中的console.error方法使用说明
2014/12/10 Javascript
通用无限极下拉菜单的实现代码
2016/05/31 Javascript
canvas 画布在主流浏览器中的尺寸限制详细介绍
2016/12/15 Javascript
JS基于面向对象实现的选项卡效果示例
2016/12/20 Javascript
JS中使用gulp实现压缩文件及浏览器热加载功能
2017/07/12 Javascript
Node.js 的模块知识汇总
2017/08/16 Javascript
深入理解Node module模块
2018/03/26 Javascript
IE11下CKEditor在Bootstrap Modal中下拉问题的解决
2019/09/25 Javascript
详解Webpack抽离第三方类库以及common解决方案
2020/03/30 Javascript
ant-design-vue按需加载的坑的解决
2020/05/14 Javascript
Vue——前端生成二维码的示例
2020/12/19 Vue.js
[48:31]完美世界DOTA2联赛PWL S3 DLG vs Phoenix 第二场 12.17
2020/12/19 DOTA
Python进程通信之匿名管道实例讲解
2015/04/11 Python
python查看zip包中文件及大小的方法
2015/07/09 Python
Python实现多线程抓取网页功能实例详解
2017/06/08 Python
100行Python代码实现自动抢火车票(附源码)
2018/01/11 Python
python将回车作为输入内容的实例
2018/06/23 Python
python关于变量名的基础知识点
2020/03/03 Python
Python IDE环境之 新版Pycharm安装详细教程
2020/03/05 Python
python 实现全球IP归属地查询工具
2020/12/18 Python
一款基于css3的列表toggle特效实例教程
2015/01/04 HTML / CSS
目标责任书范本
2014/04/16 职场文书
贷款承诺书范文
2014/05/19 职场文书
职业生涯规划书怎么写?
2014/09/14 职场文书
2015年学校关工委工作总结
2015/04/03 职场文书
个人工作总结怎么写?
2019/04/09 职场文书
Nginx服务器如何设置url链接
2021/03/31 Servers