2014-09-29 62 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