2012-06-18 67 views
1

我當前的PHP代碼將發佈在我的表單中的數據發送到名爲newData.html的文件。我希望它將數據發送到與數據中產品名稱相同的文件。讓PHP文件將表單數據發送到一個以表單數據之一命名的文件

例如,我有一個名爲NS-4000的產品。我在產品名稱中輸入產品名稱,然後提交表格。我想要一個名爲NS-4000.html的文件與我去過的其他數據一起創建。在這種情況下,我會有項目負責人的名字,產品的描述和團隊成員的名字。這是PHP我到目前爲止:

<?php 
    $Name = $_POST['Name']; 
    $PLname= $_POST['PLname']; 
    $Team_members= $_POST['Team_members']; 
    $Description= $_POST['Description']; 

    $html = <<<HEREDOC 
     Product Name: $Name <br> 
     Project Lead: $PLname <br> 
     Team Members: $Team_members <br> <br> 
     Description: $Description 
    HEREDOC; 
    file_put_contents('newPage.html', $html); 

    header('location: newPage.html'); 
    exit; 

我怎麼會去爲我的PHP代碼創建一個具有相同名稱形式的產品名稱的文件?

+3

提示:使用'$名稱'來構造將包含您的數據的文件的文件名。 –

+0

謝謝!不知道爲什麼我沒有弄清楚...... –

+0

如果名稱以大寫字母開頭,您可能希望使用'strtolower'作爲您的命名約定。例如約翰。 –

回答

1

您需要使用fopen()來創建文件。使用「w」作爲第二個參數可以讓你編寫一個新文件,如果它不存在的話。之後,您可以使用fwrite()添加內容。我從fwrite()頁面借用了該代碼並根據您的情況進行了修改。

<?php 
$fp = fopen($Name, 'w'); 
fwrite($fp, $html); 
fclose($fp); 

// the content of $Name is now $html 
?> 
+2

在此示例中使用的'file_put_contents()'是執行答案中列出的所有步驟的快捷方法。 –

+0

@布萊恩格拉茲 - 非常酷,我其實還沒有見過用過,謝謝! – iDsteven

+0

請注意,使用fopen()/ fwrite()的主要原因是以塊形式寫入數據以降低內存使用量。編寫大文件時很有用。 –

相關問題