php如何遍历目录,并替换目录下指定内容

时间:2016-11-11168举报小编:youjiejie

    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程序设计有所帮助。