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
$file= file ("db.php");
for ($i=0;$i<count($file);$i++){
$dato= explode ("=", $file[$i]);
$nombre_variable= $dato[0];
$contenido_variable= $dato[1];
if ($nombre_variable==$variable_a_modificar){
$file[$i]= "$nombre_variable= $nuevo_contenido\n";
$fl= fopen ("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\";";
$file= file ("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";
$fl= fopen ("config.php", "w");
for ($i=0;$i<count($file);$i++){
fwrite ($fl, $file[$i]);
}
fclose ($fl);
}
if ($blogdescripcion==$blogdescripcion){
$file[$i]= "$blogdescripcion = $descripcion\n";
$fl= fopen ("config.php", "w");
for ($i=0;$i<count($file);$i++){
fwrite ($fl, $file[$i]);
}
fclose ($fl);
}
if ($siteurl==$siteurl){
$file[$i]= "$siteurl = $url\n";
$fl= fopen ("config.php", "w");
for ($i=0;$i<count($file);$i++){
fwrite ($fl, $file[$i]);
}
fclose ($fl);
}
if ($path==$path){
$file[$i]= "$path = $pathurl\n";
$fl= fopen ("config.php", "w");
for ($i=0;$i<count($file);$i++){
fwrite ($fl, $file[$i]);
}
fclose ($fl);
}
if ($dbname==$dbname){
$file[$i]= "$dbname = $bd\n";
$fl= fopen ("config.php", "w");
for ($i=0;$i<count($file);$i++){
fwrite ($fl, $file[$i]);
}
fclose ($fl);
}
if ($dbhost==$hosting){
$file[$i]= "$dbhost = $hosting\n";
$fl= fopen ("config.php", "w");
for ($i=0;$i<count($file);$i++){
fwrite ($fl, $file[$i]);
}
fclose ($fl);
}
if ($dbusername==$dbusername){
$file[$i]= "$dbusername = $usuario\n";
$fl= fopen ("config.php", "w");
for ($i=0;$i<count($file);$i++){
fwrite ($fl, $file[$i]);
}
fclose ($fl);
}
if ($dbpassword==$dbpassword){
$file[$i]= "$dbpassword = $pass\n";
$fl= fopen ("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