通常我可以在線找到類似問題的解決方案,以解決我自己的問題,但是我越想到/研究這個問題,我就越困惑!處理HTML表單值並將結果輸出到文本文件
樂於嘗試&拼湊我自己的解決方案(和張貼在這裏審查/參考),但將欣賞一些指導如何辦法。
我想實現:
從包含以下字段的一個簡單的HTML表單:
- 起始編號
- 尾號
- 開始信
- 結束信
將提交的信息傳遞給PHP腳本進行處理。
爲HTML形式的示例值:
- 起始編號= 0
- 完號= 3
- 開始信= A
- 結束信= d
通過只輸入開始和結束的數字/字母,腳本將確定此外所有提交的值都需要進一步的處理步驟/ ou即,1,B,C。我假設這些信息將存儲在單個數組或多個數組中。
如果我想要與存儲陣列(一個或多個)信息是輸出與所有可能的字母+數字的組合一個文本文件,看起來類似的事:
A0 A1 A2 A3
B0 B1 B2 B3
C0 C1 C2 C3
D0 D1 D2 D3
那麼這將是結束我的問題也許首先要嘗試但要實現什麼我需要的是數據被分成4個獨立的文件如下:
文件:
FILE1.TXT
A0 B0 C0 D0
FILE2.TXT
A1 B1 C1 D1
File3.txt
A2 B2 C2 D2
FILE4。TXT
A3 B3 C3 D3
打破我的問題分解成以下步驟:
- 提交僅開始/結束數字/字母我怎麼能確定字母/數字在中間(範圍)?
答:使用
range()
- 我怎麼能那麼確定所有可能的字母+數字的組合?
- 我怎樣才能然後通過數值和輸出組?
不再多想,我需要做的,但將涉及合併陣列
通過的foreach函數處理
更新:
我的代碼下面產生第一輸出文件。
FILE1.TXT
A0
B0
C0
D0
您將在foreach功能我特別要求的$數組2的第一個值注意。我怎樣才能重複/循環foreach和echo函數存儲在$ array2中的每個值? (我知道我還需要進一步修改,以確保創建的文本文件,具有獨特的文件名。)
<?php
//Example form values
$start_number = 0;
$end_number = 3;
$start_letter = 'A';
$end_letter = 'D';
//Letters array
$array1 = range($start_letter, $end_letter,1);
//Numbers array
$array2 = range($start_number, $end_number,1);
foreach($array1 as $key => $value) {
$string .= $value . $array2[0] . "\n";
}
echo file_put_contents("File1.txt",$string);
?>
工作實例:
<?php
//Example passed form values
$start_number = 0;
$end_number = 8;
$start_letter = 'A';
$end_letter = 'D';
//Numbers array
$array1 = range($start_number, $end_number,1);
//Letters array
$array2 = range($start_letter, $end_letter,1);
foreach($array1 as $key => $value) {
$string = implode($array2, $value . "\n") . $value;
echo file_put_contents($value . ".txt",$string);
}
?>
我不相信這是最好的解決辦法使用implode(),但它符合我的要求,也許有人可能會覺得這篇文章有用。請提出改進建議。
您可能想要更改此問題。這對我來說沒有多大意義。 – chris85
嗨克里斯85,我已經嘗試建議。 –
它對於SO來說更清楚但太寬泛。 – chris85