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

yipeiwu_com5年前PHP代码库

本文实例讲述了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数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《php面向对象程序设计入门教程》、《PHP网络编程技巧总结》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总

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

相关文章

PHP观察者模式示例【Laravel框架中有用到】

本文实例讲述了PHP观察者模式。分享给大家供大家参考,具体如下: <?php //观察者模式 //抽象主题类 interface Subject { public...

pdo中使用参数化查询sql

方法 bindParam() 和 bindValue() 非常相似。 唯一的区别就是前者使用一个PHP变量绑定参数,而后者使用一个值。 所以使用bindParam是第二个参数只能用变量名...

PHP进阶学习之反射基本概念与用法分析

PHP进阶学习之反射基本概念与用法分析

本文实例讲述了PHP进阶学习之反射基本概念与用法。分享给大家供大家参考,具体如下: 一、前言 Reflection(反射)是Java程序开发语言的特征之一,它允许运行中的Java程序对自...

PHP中substr函数字符串截取用法分析

本文实例讲述了PHP中substr函数字符串截取用法。分享给大家供大家参考,具体如下: PHP中substr函数定义如下: substr(string,start,length) 参数说...

wordpress自定义标签云与随机获取标签的方法详解

wp_tag_cloud() 函数的作用是用来标签云的,可以根据每个标签所关联的文章次数来定义字体大小、标签排序等属性。从 2.8 版本开始,添加了 分类法(taxonomy)参数,这就...