En este artículo, a modo de presentación de algunas de las posibilidades de las librerías php.js, comentadas anteriormente en DesarrolloWeb.com, vamos a mostrar cómo hacer uso de las funciones de PHP para el acceso al sistema de archivos del servidor, pero directamente desde Javascript. Esto lo podemos conseguir porque el mencionado proyecto php.js ha portado a Javascript cientos de funciones útiles existentes en PHP, entre las que hay muchas que trabajan con el sistema de archivos del servidor y que nos permiten acceder a muchos recursos del servidor, por medio de Ajax, pero sin necesitar conocer las complejidades inherentes a esos procesos ni la propia tecnología Ajax.
Así pues, simplemente tenemos que conocer las funciones PHP de acceso a los archivos del servidor y trabajar con ellas para recuperar cosas como si existe un fichero, con la función file_exists(), el contenido de texto completo de un archivo, con file_get_contents(), o el tamaño de un archivo en el disco del servidor, con filesize(). Estos son tres ejemplos sencillos de trabajo con las funciones del sistema de archivos de PHP en Javascript, que veremos en este artículo, pero existen otras muchas funciones útiles disponibles para los desarrolladores.
Las funciones del sistema de archivos que dispone PHP son muy ricas y tenerlas a nuestra disposición desde Javascript es una verdadera gozada, así pues este sería un gran ejemplo de las destacables posibilidades que nos abren las librerías php.js.
var archivo = "server.js";
if(file_exists(archivo)){
//podemos hacer cualquier cosa con ese fichero, porque sabemos que sí existe.
}
var tamano = filesize("archivo-cualquiera.html');
Esto nos devuelve el tamaño en bytes, por lo que, si deseamos el tamaño en Kb tendremos que dividir el valor devuelto por 1024.
Leer el contenido completo de un archivo de texto del servidor con Javascript
Ahora veamos otra utilidad verdaderamente impresionante de estas librerías. Impresionante por funcionar de manera tan sencilla, a pesar de la complejidad de la tarea que se está solicitando. Se trata de acceder a un archivo de texto y recuperar todo su contenido en una variable.
Esto se hace en PHP por medio de la función file_get_contents(), que en su versión portada a Javascript funciona de la misma manera que en el lenguaje del servidor. Tenemos que llamar a la función pasándole la ruta del archivo cuyo contenido queremos recuperar y obtendremos como respuesta el texto completo que hay en ese fichero.
var texto_fichero = file_get_contents("archivo-solicitado.html");
var archivo = "server.js";
if(file_exists(archivo)){
//existe ese fichero
document.write("<h2>El fichero " + archivo + " existe en el servidor</h2>");
//voy a ver cuánto ocupa ese fichero
var tamano = filesize(archivo);
document.write("<h2>El fichero " + archivo + " ocupa " + (tamano/1024) + " Kb</h2>");
//voy a traerme su contenido completo
var texto_fichero = file_get_contents(archivo);
document.write("<pre>" + texto_fichero + "</pre>");
}
| Seguridad Por: Enzo | 02/9/2010
|
| Acceso a archivos de servidor por Javascript los hace vulnerables? | 02/9/2010 |