Version: 1
Type: Full Script
Category: File Management
License: GNU General Public License
Description: * Script para remplazar un texto por otro en los archivos de un directorio especificado
* Script that will replace a text within some files contained in a specified directory
<?php /** * Script para remplazar un texto por otro en los archivos de un directorio especificado * Script that will replace a text within some files contained in a specified directory * @author Juan Carlos Gonzlez <[email protected]> */ $texto_buscar = "[email protected]"; // Text to search $texto_remplazar = "jcgonz@localhost"; // Texto to replace with $directorio_busqueda = 'C:Innoxcomwwwesi'; // Directory $patron_nombre_archivo = "Root"; // File pattern // Obtenemos los archivos $archivos = getRArchivosDirectorio($directorio_busqueda, $patron_nombre_archivo); // comenzamos el remplazo foreach ($archivos as $archivo) { $exito = FALSE; $contenido = file_get_contents($archivo); $contenido = preg_replace("/$texto_buscar/", $texto_remplazar, $contenido, -1, $exito); if ($exito) { $fp = fopen($archivo, "w"); if ($fp) { fputs($fp, $contenido); fclose($fp); } } } // fin /** * Funciones */ /** * Funcin que recursivamente regresa todos los archivos de acuerdo al * $patron de un directorio especificado * * @param char $directorio * @param char $patron * @return array */ function getRArchivosDirectorio($directorio, $patron = NULL) { $cw_original = getcwd(); chdir($directorio); $entradas = array(); if (is_dir($directorio)) { $entradas = scandir($directorio); } $archivos = array(); foreach ($entradas as $entrada) { if ($entrada != '.' && $entrada != '..') { $entrada = realpath($entrada); if (is_dir($entrada)) { $archivos = array_merge($archivos, getRArchivosDirectorio($entrada, $patron)); } else { $agregar = TRUE; if (!is_null($patron)) { $agregar = preg_match("/$patron/", $entrada); } if ($agregar) { $archivos[] = $entrada; } } } } chdir($cw_original); return $archivos; } ?>