2014-09-29 68 views
0

我有这样的代码:写入文件从阵列=以PHP

require_once("./templates/install.html"); 

if(isset($_POST["proceed"])) 
{ 
$phpfile = fopen("db_config.php","w"); 
$configdata = array(
'dbhost'  => $_POST["dbhost"], 
    'dbname'  => $_POST['dbname'], 
    'dbuser'  => $_POST['dbuser'], 
    'dbpasswd'  => $_POST['dbpass'], 
    'table_prefix' => $_POST['prefix'], 
); 

我怎样才能拯救这个数组创建的PHP文件因此这将是如下:

<?php 
$dbhost=$_POST["dbhost"]; 
$dbname=$_POST["dbname"]; 
.... 
?> 

而且等等...

像,首先变量名称在数组作为变量在新的PHP文件等于值。

+1

这听起来像一个非常糟糕的想法。 你为什么要这样? – Sherlock 2014-09-29 11:40:53

+0

为了让客户在系统中选择他们的数据库,我正在制作一些内容管理系统。 – 2014-09-29 11:43:00

回答

1
<?php 



$string = '<?php 

$dbhost = "'. $_POST["dbhost"]. '"; 

$dbuname = "'. $_POST["dbuname"]. '"; 

$dbpass = "'. $_POST["dbpass"]. '"; 

$dbname = "'. $_POST["dbname"]. '"; 

$prefix = "'. $_POST["prefix"]. '"; 

$user_prefix = "'. $_POST["user_prefix"]. '"; 

$dbtype = "'. $_POST["dbtype"]. '"; 

?>'; 



$fp = fopen("config.php", "w"); 

fwrite($fp, $string); 

fclose($fp); 



?> 
+0

该代码不起作用,它不会保存文件,尝试回显,也没有工作。 – 2014-09-29 11:49:00

+0

请在保存之前检查$ _POST是否有值。 – Sanith 2014-09-29 11:52:47

+0

我做到了,他们很好。我认为它与<?php标记有关,我甚至试过: \t $ configdata ='<?php'; \t var_dump($ configdata); \t echo $ configdata; 它什么也没有显示。 – 2014-09-29 11:54:34