Tecnología

Inicio

Cómo convertir páginas Web a una base de datos

Cómo convertir páginas Web a una base de datos


Los efectos de mover los contenidos de servidores web de sistemas de archivos planos en bases de datos son variadas y dependen del tamaño y el tipo de los datos que se almacena. Convierte tus archivos de páginas Web en una base de datos utilizando MySQL y PHP.

Instrucciones

Conversión de páginas a la Base de datos

1 Crear una tabla de base de datos. La tabla necesita un "nombre" y el campo "datos". Utilice el tipo "burbuja" de los datos, ya que el contenido del archivo se deben almacenar en formato binario.

CREAR TABLA web2db (

name varchar (255) NOT NULL,

data blob NOT NULL,

PRIMARY KEY ( name )

);

2 Crear un archivo PHP para almacenar las páginas en la base de datos. En este ejemplo se utiliza "convert.php."

3 Crear una función en el archivo PHP para conectarse a la base de datos MySQL. Utilizar los valores para su ruta de servidor, nombre de usuario y contraseña en lugar de los marcadores de posición de abajo.

Conexión BD funcionar () {

return mysql_connect(DB_SERV,DB_USER,DB_PASS);

}

4 Crear una función que va a almacenar los datos en una página web en la base de datos. Utilice el nombre de su base de datos en lugar del marcador de posición para mysql_select_db.

dbWrite función ($ name, $ data) {

$dbs = dbConnect();

$ Name = mysql_real_escape_string ($ name);

$ Data = mysql_real_escape_string ($ data);

mysql_select_db (DB_NAME);

mysql_query ( "INSERT INTO web2db (nombre, datos) VALUES ( '$ nombre', '$ data')");

mysql_close ($ DBS);

}

5 Crear una función que va a buscar en el directorio actual para los archivos y añadirlos a la base de datos. El ejemplo sólo busca HTML en el directorio actual, pero se puede modificar fácilmente para buscar otros tipos de archivos y para buscar subdirectorios.

FindFiles function () {

$dirStream = opendir(".");

while ($ nextfile = readdir ($ dirStream)) $ dirArray [] = $ nextfile;

closedir ($ dirStream);

foreach ($ dirArray como $ thisFile) {

si (substr ($ thisFile, -4) == && substr ($ thisFile, -5) ==! "htm."! "html".) continuar;

$ data = file_get_contents ($ thisFile);

dbWrite ($ thisFile, $ data);

}

}

6 Llame a la función FindFiles al final del archivo PHP. El contenido íntegro del código de ejemplo para la página se dan a continuación.

<?

Conexión BD funcionar () {

return mysql_connect(DB_SERV,DB_USER,DB_PASS);

}

dbWrite función ($ name, $ data) {

$dbs = dbConnect();

$ Name = mysql_real_escape_string ($ name);

$ Data = mysql_real_escape_string ($ data);

mysql_select_db (DB_NAME);

mysql_query ( "INSERT INTO web2db (nombre, datos) VALUES ( '$ nombre', '$ data')");

mysql_close ($ DBS);

}

FindFiles function () {

$dirStream = opendir(".");

while ($ nextfile = readdir ($ dirStream)) $ dirArray [] = $ nextfile;

closedir ($ dirStream);

foreach ($ dirArray como $ thisFile) {

si (substr ($ thisFile, -4) == && substr ($ thisFile, -5) ==! "htm."! "html".) continuar;

$ data = file_get_contents ($ thisFile);

dbWrite ($ thisFile, $ data);

}

}

FindFiles ();

?>

7 Navegue hasta el archivo PHP en un navegador Web para ejecutar el script. Comprobar el contenido de bases de datos para asegurarse de que funcionaba.

Mostrar el Webpages

8 Cree otro archivo PHP para mostrar las páginas almacenadas en la base de datos. Puede llamarlo simplemente "index.php".

9 Compruebe si una "página" variable se ha pasado a la escritura, que es como se va a decirle al script qué archivo para ir a buscar a partir de la base de datos. En caso contrario, se establece en un valor predeterminado. El ejemplo utiliza "index.html".

$ Page = (isset ($ _ GET [ 'page']) $ _GET [ "página"]: "index.html");

10 Utilizar la misma función de su archivo PHP para conectarse a la base de datos.

Conexión BD funcionar () {

return mysql_connect(DB_SERV,DB_USER,DB_PASS);

}

11 Escribir una función que leerá los datos de la base de datos y lo devuelve. La función devuelve false si la página no se puede encontrar. Recuerde cambiar mysql_select_db a utilizar el nombre de base de datos adecuada.

dbRead funcionar ($ name) {

$dbs = dbConnect();

$ Name = mysql_real_escape_string ($ name);

mysql_select_db (DB_NAME);

$ Resultado = mysql_query ( "seleccionar datos de web2db WHERE nombre = '$ nombre'");

if (! $ resultado) {mysql_close ($ DBS); falso retorno; }

si (mysql_num_rows ($ resultado) == 0) {$ mysql_close (DBS); falso retorno; }

$ Resultado = mysql_result ($ resultado, 0);

mysql_close ($ DBS);

return $ resultado;

}

12 Utilice la función dbRead se ha podido recuperar la página de la base de datos.

$ PageData = dbRead (página $);

13 Compruebe si la función devuelve dbRead datos de la página. Si es así, mostrar el contenido de página. Si no, mostrar un mensaje de error. El contenido íntegro del index.php están por debajo.

<?

$ Page = (isset ($ _ GET [ 'page']) $ _GET [ "página"]: "index.html");

Conexión BD funcionar () {

return mysql_connect(DB_SERV,DB_USER,DB_PASS);

}

dbRead funcionar ($ name) {

$dbs = dbConnect();

$ Name = mysql_real_escape_string ($ name);

mysql_select_db (DB_NAME);

$ Resultado = mysql_query ( "seleccionar datos de web2db WHERE nombre = '$ nombre'");

if (! $ resultado) {mysql_close ($ DBS); falso retorno; }

si (mysql_num_rows ($ resultado) == 0) {$ mysql_close (DBS); falso retorno; }

$ Resultado = mysql_result ($ resultado, 0);

mysql_close ($ DBS);

return $ resultado;

}

$ PageData = dbRead (página $);

eco (? $ $ pageData pageData: ". Página no encontrada");

?>

14 Navegar a index.php en un navegador Web para asegurarse de que se carga correctamente. Si se desea obtener el contenido de la ejemplo.php, que le vaya a:? Page = convert.php ejemplo.php.

Consejos y advertencias

  • En general, las páginas web más grandes serán más eficientes como una base de datos mientras que las páginas más pequeños necesitarán más tiempo para leer que si se almacenan como archivos.