Script PHP para explorar archivos y directorios recursivamente
Escrito por Alex Barros No es la primera vez que necesito construirme un script como éste, así que voy a publicarlo tanto para mí en el futuro como para todo aquél que pueda servirle.
Este script de PHP sencillamente recorre todos los archivos y directorios (y archivos dentro de directorios) a partir de cierta dirección que le proporciones, para realizar la tarea que tu quieras.
En mi caso, necesitaba encontrar todos los archivos PHP, y buscar en su interior el primer parámetro de todas las apariciones de la función t()
Para ello hice un ereg (expresión regular) al nombre de cada archivo, y a los que fueran php, hice otra expresión regular más compleja, que extrajera el primer parámetro de todas las funciones t() ejecutadas en el archivo, y lo almacenase en un array.
El uso que le he dado esta vez, más concretamente, era recorrer todos los archivos del programa Gpsia, para buscar la función t() que es la encargada de traducir. Quiero pasar del sistema actual hecho por mí, al sistema estándar de traducción que es gettext(), soportado por PHP (como Wordpress). (Hablaré de esto próximamente)
Estas traducciones se hacen a partir de archivos .po, y mi script genera automáticamente un archivo .po preparado para ser traducido a cualquier idioma. El código específico es éste:
-
msgid ""
-
msgstr ""
-
"Project-Id-Version: Gpsia 3.0\n"
-
"POT-Creation-Date: \n"
-
"PO-Revision-Date: \n"
-
"Last-Translator: Alex Barros <zumbenet@gmail.com>\n"
-
"Language-Team: \n"
-
"MIME-Version: 1.0\n"
-
"Content-Type: text/plain; charset=utf-8\n"
-
"Content-Transfer-Encoding: 8bit\n"
-
"X-Poedit-Language: Spanish\n"
-
"X-Poedit-Country: SPAIN\n"
-
"X-Poedit-SourceCharset: utf-8\n"
-
<?php
-
-
function inspecRec($dir) {
-
global $frases;
-
-
#echo "<br><strong>$dir/$ar</strong>"; flush();
-
foreach($re[1] as $r){
-
$frases[$r] = $r;
-
}
-
} else {
-
#echo "<br>$dir/$ar"; flush();
-
}
-
inspecRec($ar);
-
}
-
}
-
} else {
-
#echo "<hr>Error: $dir<br>";
-
}
-
}
-
inspecRec(‘./’);
-
foreach($frases as $f) {
-
}
-
?>
Categorias: Boozox |



Respeta el copyleft
Diciembre
1:36 Charls Agente Ha dicho:
jejej, buena iniciativa para dejar comentario..
en fin gracias por el código, lo voy a probar y aplicar a mi web donde tratare de hacer un explorador de archivos, donde se puedan ver con su respectivo icono, se puedan abrir, etc. veremos que tal me va.
charls
Diciembre
6:57 Alex Barros Ha dicho:
Buena suerte!