Código PHP:
$config_data = '<?php'."\n\n";
$config_data .= '$table_prefix = '' . $directorio . '\';' . "\n\n";
$config_data .= 'define(\'DB_NAME\', \'' . $dbname . '\');'."\n\n";
$config_data .= 'define(\'DB_USER\', \'XXX\');'."\n\n";
$config_data .= 'define(\'DB_USER\', \'XXX\');'."\n\n";
$config_data .= 'define(\'DB_USER\', \'XXX\');'."\n\n";
$config_data .= 'define(\'DB_PASSWORD\', \'XXXX\');'."\n\n";
eso es muy confuso, o usas comillas dobles o simples, pero te conviene mejor el uso de HEREDOC, lee mas al respecto..
y en lo del archivo..... esta muy confuso la forma que usas, pork no usas la normal que es dentro de un while o un ciclo????......... en el manual de php esta tanto el heredoc como lo de archivos, saludos.!!!!!