Ver Mensaje Individual
  #3 (permalink)  
Antiguo 17/04/2011, 13:23
Tooj
 
Fecha de Ingreso: noviembre-2009
Mensajes: 64
Antigüedad: 15 años
Puntos: 1
Respuesta: instalador de script php en dos pasos

Hola. gracias.

bueno, he estado leyendo varios posts sobre el tema. particularmente uno me gusto. http://www.forosdelweb.com/f18/escri...riable-352416/

y se da el siguiente ejemplo:

este es el archivo a modificar bd.php

Código PHP:
<? 
$dbname
"name"
$dbuser"user"
$dbpass"pass"
?>

y este el script que lo modifica

Código PHP:
<? 
$variable_a_modificar
"\$dbuser"//Fijense que escapé el signo $ con la barar invertida \, para que no se tome como el valor de la variable $dbuser 
$nuevo_contenido"\"usuario\";"//Lo que queremos que aparesca en la variable 
$filefile ("db.php"); 
for (
$i=0;$i<count($file);$i++){ 
$datoexplode ("="$file[$i]); 
$nombre_variable$dato[0]; 
$contenido_variable$dato[1]; 
if (
$nombre_variable==$variable_a_modificar){ 
$file[$i]= "$nombre_variable= $nuevo_contenido\n"
$flfopen ("db.php""w"); 
for (
$i=0;$i<count($file);$i++){ 
fwrite ($fl$file[$i]); 

fclose ($fl); 


?>
entonces, he hecho lo siguiente ensayo, pero no lo he podido probar porque el servidor en local me dice error 500, no se a que se deba... ya lo vere después.

así me ha quedado ahora el codigo, aunque la verdad, no se si sea valido cerrar y abrir tantas veces el archivo config, con fopen y fwrite


Las variables a las que me refieron, son las basicas de un blog, nombre, url, y datos de la base de datos.


Código PHP:
<html>
<head>
<title>Instalación de blog.</title>
</head>
<body>

<?php
include ("config.php");
$a "\$blogname"//variable a modificar
$aa "\"sitio\";"//nuevo valor
$b "\$blogdescripcion";
$bb "\"descripcion\";";
$c "\$siteurl";
$cc "\"url\";";
$d "\$path";
$dd "\"pathurl\";";
$e "\$dbname";
$ee "\"bd\";";
$f "\$dbhost";
$ff "\"hosting\";";
$g "\$dbusername";
$gg "\"usuario\";";
$h "\$dbpassword";
$hh "\"pass\";";

$filefile ("config.php"); 
for (
$i=0;$i<count($file);$i++){ 
$dato explode ("="$file[$i]);

$blogname $dato[0]; 
$sitio $dato[1];
$blogdescripcion $dato[2];
$descripcion $dato[3];
$siteurl $dato[4];
$url $dato[5];
$path $dato[6];
$pathurl $dato[7];
$dbname $dato[8];
$bd $dato[9];
$dbhost $dato[10];
$hosting $dato[11];
$dbusername $dato[12];
$usuario $dato[13];
$dbpassword $dato[14];
$pass $dato[15];


 
if (
$blogname==$blogname){ 
$file[$i]= "$blogname = $sitio\n"
$flfopen ("config.php""w"); 
for (
$i=0;$i<count($file);$i++){ 
fwrite ($fl$file[$i]); 

fclose ($fl); 


if (
$blogdescripcion==$blogdescripcion){ 
$file[$i]= "$blogdescripcion = $descripcion\n"
$flfopen ("config.php""w"); 
for (
$i=0;$i<count($file);$i++){ 
fwrite ($fl$file[$i]); 

fclose ($fl); 


if (
$siteurl==$siteurl){ 
$file[$i]= "$siteurl = $url\n"
$flfopen ("config.php""w"); 
for (
$i=0;$i<count($file);$i++){ 
fwrite ($fl$file[$i]); 

fclose ($fl); 
}

if (
$path==$path){ 
$file[$i]= "$path = $pathurl\n"
$flfopen ("config.php""w"); 
for (
$i=0;$i<count($file);$i++){ 
fwrite ($fl$file[$i]); 

fclose ($fl); 
}

if (
$dbname==$dbname){ 
$file[$i]= "$dbname = $bd\n"
$flfopen ("config.php""w"); 
for (
$i=0;$i<count($file);$i++){ 
fwrite ($fl$file[$i]); 

fclose ($fl); 
}

if (
$dbhost==$hosting){ 
$file[$i]= "$dbhost = $hosting\n"
$flfopen ("config.php""w"); 
for (
$i=0;$i<count($file);$i++){ 
fwrite ($fl$file[$i]); 

fclose ($fl); 
}

if (
$dbusername==$dbusername){ 
$file[$i]= "$dbusername = $usuario\n"
$flfopen ("config.php""w"); 
for (
$i=0;$i<count($file);$i++){ 
fwrite ($fl$file[$i]); 

fclose ($fl); 
}

if (
$dbpassword==$dbpassword){ 
$file[$i]= "$dbpassword = $pass\n"
$flfopen ("config.php""w"); 
for (
$i=0;$i<count($file);$i++){ 
fwrite ($fl$file[$i]); 

fclose ($fl); 
}



?> //no se si aqui tengo que separar el codigo,  o puede ser uno solo.

<?php

switch($_POST["paso"]){ 
  case 
1:

echo 
'<div id="tabletop">';
echo 
'<form name="post" action="install.php?paso=1" method="POST">';
echo 
"Bienvenidos";
echo 
"Ahora vamos instalar tu blog. Escribe correctamente los datos que se te piden";
echo 
"Nombre de tu sitio"
echo "<br /><br />";
echo 
'<input type="text" name="sitio" size="54" tabindex="1" value="<?php echo $sitio; ?>" id="sitio" />'
echo "<br /><br />";
echo 
"Descripción";
echo 
"<br /><br />";
echo 
'<input type="text" name="descripcion" size="54" tabindex="1" value="<?php echo $descripcion; ?>" id="descripcion" />';
echo 
"<br /><br />";
echo 
"Dirección de dominio";
echo 
"<br /><br />";
echo 
'<input type="text" name="dominio" size="54" tabindex="1" value="<?php echo $dominio; ?>" id="dominio" />';
echo 
"<br /><br />";
echo 
"Base de datos";
echo 
"<br /><br />";
echo 
"Host (Generalmentes <i>localhost</i>, si tienes dudas consulta tu proveedor de hosting</i>";
echo 
"<br /><br />";
echo 
'<input type="text" name="hosting" size="54" tabindex="1" value="<?php echo $hosting; ?>" id="hosting" />';
echo 
"<br /><br />";
echo 
"Nombre de la base de datos";
echo 
"<br /><br />";
echo 
'<input type="text" name="bd" size="54" tabindex="1" value="<?php echo $bd; ?>" id="bd" />';
echo 
"<br /><br />";
echo 
"Nombre de usuario de la base de datos";
echo 
"<br /><br />";
echo 
'<input type="text" name="usuario" size="54" tabindex="1" value="<?php echo $usuario; ?>" id="usuario" />';
echo 
"<br /><br />";
echo 
"Password de la base de datos";
echo 
"<br /><br />";
echo 
'<input type="text" name="pass" size="54" tabindex="1" value="<?php echo $pass; ?>" id="pass" />';
echo 
"<br /><br />";

echo 
'<input type="submit" name="submit" value="Guardar"  />'
echo '</form>';
echo 
"</div>;"

exit();
break;

case 
2:

instalacion de tablas 

exit(); 
break; 

?>
bueno, que opinan?

ha quedado mejor, o cómo ven?

también he encontrado un ejemplo como el que propone Sourcegeek, pero aun no lo he probado.

saludos