2011-06-20 33 views
9

Lo que trato de hacer es crear un archivo de instalación donde el usuario ingrese la base de datos, el nombre de usuario, la contraseña y el host como primer paso en la instalación de un sistema php.¿Cómo crear archivos .php usando php?

+3

de referencia: [PHP: funciones del sistema de archivos] (http://php.net/manual/en/ref.filesystem.php) –

+0

['file_put_contents()'] (http://www.php.net/manual/en/function.file-put-contents.php) –

+0

http://php.net/function.fwrite –

Respuesta

9

Es fácil. Simplemente escriba un archivo con extensión php como otros mencionaron.

Pero prefiero escribir un archivo ini para los datos de configuración y cargarlos más tarde con parse_ini_file.

Actualización: Este es un ejemplo de hacer eso:

<?php 
$config = array(
    "database" => "test", 
    "user"  => "testUser" 
); 

function writeConfig($filename, $config) { 
    $fh = fopen($filename, "w"); 
    if (!is_resource($fh)) { 
     return false; 
    } 
    foreach ($config as $key => $value) { 
     fwrite($fh, sprintf("%s = %s\n", $key, $value)); 
    } 
    fclose($fh); 

    return true; 
} 

function readConfig($filename) { 
    return parse_ini_file($filename, false, INI_SCANNER_NORMAL); 
} 

var_dump(writeConfig("test.ini", $config)); 
var_dump(readConfig("test.ini")); 
+0

¿Podría decirme más al respecto? ¿Cómo puedo crear un instalador para crear un archivo de configuración usando el (escriba un archivo ini)? –

+1

Agregué un ejemplo, pero es solo un ejemplo simple sin demasiado manejo de errores y si tiene parámetros con espacios, necesita escaparse en el 'sprintf'. –

+0

Lo intenté, pero apareció un error: Advertencia: Recuento incorrecto de parámetros para parse_ini_file(). Además, ¿cómo puedo usar un formulario de entrada para crear el archivo de configuración y cómo leer el archivo de configuración para poder conectarme a la base de datos en cada página de mi sitio web? –

12

Es lo mismo que usted está creando otros archivos, pero sólo tiene que añadir la extensión .php

$fp=fopen('filename.php','w'); 
fwrite($fp, 'data to be written'); 
fclose($fp); 
+1

Gracias, pero cómo usar entradas de formulario al escribir esa página .php: Ejemplo, cuando el usuario ingresa el nombre de la base de datos, debe usarse en el archivo config.php que queremos crear. ¿Es posible usar $ database = $ _POST ['database']; dentro de la función fwrite? –

Cuestiones relacionadas