2014-10-01 20 views
1

我正在創建一個小表單來爲項目生成css文件,只需交換幾種顏色即可。你可以在這裏找到工作的例子:使用PHP表格值生成多個文件

http://breadadams.com/cssgen

我找到了工作,迫使保存一個PHP文件(即通過action=""形式鏈接)作爲加載CSS文件中,採取的值替換某些值來自表單域。

我需要生成更多的css文件和一個xml文件。所有相同的風格,採取顏色值和替換。

我想創建多個.php文件強制特定格式的下載與

header("Content-Disposition: attachment; filename=\"name.type\""); 

但是多個文件不能在action=""字段中插入的。有沒有其他方法?

或者可能從一個.php文件中生成所有這些文件(儘管我認爲header()函數影響整個文件?)?

我會隨後被編譯所有這些文件到壓縮,使用ZipArchive,將通過下載的CSS按鈕進行下載。

任何幫助將是偉大的。

+1

*「我只是想不出我如何發送表單數據到所有的php文件。」* - 你將不得不詳細說明這一點。 – 2014-10-01 18:31:47

+0

我在想同樣的事情,已經清理了我的問題。 – 2014-10-01 18:39:38

+1

請參閱Stack上的這些問答http://stackoverflow.com/q/16390601/ http://stackoverflow.com/q/5690794/以及答案中的一些鏈接。我希望這會有所幫助。我在圖書館的某處有一段代碼,但對於我的生活,我現在找不到它。如果我這樣做,我會告訴你。 – 2014-10-01 18:50:25

回答

0

試試這個:

<form name="form1" action="File1.php" onsubmit="return onSubmit()"...> 
    <input type='xxx' name="field1"...> 
    ... 
</form> 

<form name="form2" target="name_for_form2_results" action="File2.php"...> 
    <input type="hidden" name="field1"> 
    ... 
</form> 

<script language="javascript"> 
function onSubmit() 
{ 
    document.form2.field1.value = document.form1.field1.value; 
    ... 
    document.form2.submit(); 
    ... 
    return true;  // Submits Form1 
} 
</script> 

在表格上指定的目標應打開了該名稱的新窗口。第一種形式具有輸入字段,第二種形式具有相同的名稱但是隱藏字段並且不出現在屏幕上。在提交每個值之前,onSubmit將值從第一個值複製到所有其他值。

實現可以改進,但我保持簡單明瞭。

+0

感謝@Mike,我明白你要去哪裏。雖然我不太明白'target =「name_for_form2_results」'是否只是強制一個新的窗口來加載File2.php的結果(文件下載)?或者我將其替換爲某種東西? 此外,我需要每個表單中相同數量的字段嗎?相同的名稱,類,只是使用'type =「hidden」'? – 2014-10-02 19:02:27

+0

target ='x'是在新窗口中打開結果。你可以使用「target ='blank'」,但是我認爲如果你點擊幾次窗口刷新了刷新的話,事情會變得有點忙亂。通過賦予它們相同的名稱,新結果將覆蓋現有窗口或創建一個新窗口,如果它不存在。 只要a,您不需要相同數量的字段或甚至相同的名稱。他們是服務器期望的和b。你知道如何複製整個值。 你有什麼是輸入數據的一種形式,提交數據的方式和需要時從一個複製到另一個的方法。 – Mike 2014-10-02 19:53:58