2011-04-16 14 views
2

我有一個包含這樣的事情和變化往往$數據:讀線下拉

backup 2011-04-15 16:39:18.559965.zip 
backup 2011-04-15 16:39:56.289656.zip 
backup 2011-04-15 16:41:34.463754.zip 
backup 2011-04-15 16:41:54.089134.zip 
backup 2011-04-15 16:42:18.742616.zip 
backup 2011-04-16 13:12:33.083622.zip 
backup 2011-04-16 13:14:53.387308.zip 
backup 2011-04-17 00:30:32.591461.zip 

我怎樣才能使這將其轉化爲一個下拉列表,所以人們可以選擇,我可以使用結果作爲$ _POST ['文件']?

回答

4
    使用 fopen()函數
  1. 拆分文本到數組使用爆炸()
  2. 讀文本
  3. 使用 的foreach()
  4. 回波
  5. Loopt的槽式陣列選項標籤之間的元素。

編輯

我沒有提供任何代碼,因爲你應該能夠寫這個自己按照上述步驟。只需使用Google即可瞭解這些功能的工作原理。你只能通過自己實現的東西來學習PHP。不要指望人們爲你編寫完整的腳本。

不管怎麼說,這應該是工作:)

$path = "files.txt"; 
$file = fopen($path, 'r'); 
$data = fread($file, filesize($path)); 
fclose($file); 

$lines = explode(PHP_EOL,$data); 
echo '<select name="file">'; 
foreach($lines as $line) { 
    echo '<option value="'. urlencode($line).'">'.$line.'</option>'; 
} 
echo '</select>'; 

您還可以使用file_get_contents()函數,而不是fopen()函數。

$data = file_get_contents("files.txt"); 

編輯

新增文件()喜歡推薦Wiseguy

$lines = file('files.txt'); 
echo '<select name="file">'; 
foreach($lines as $line) { 
    echo '<option value="'. urlencode($line).'">'.$line.'</option>'; 
} 
echo '</select>'; 
+0

你能舉個例子嗎? – Riki137 2011-04-16 22:51:26

+0

已添加工作示例。 – Anne 2011-04-16 23:14:00

+0

或者更簡短一點,只需'$ lines = file('files.txt');' – Wiseguy 2011-04-17 00:05:06

1
$lines = explode($data); 
echo '<select name="file">'; 
foreach($lines as $line) { 
    echo '<option value="', $line, '">', $line, '</option>'; 
} 
echo '</select>'; 
+0

你,大概,要repalce這些變量分隔符','以點('.' )。呵呵。 – jolt 2011-04-16 22:42:29

+2

並對數據進行編碼... – Artefacto 2011-04-16 22:59:31

+0

@Tom實際上,'echo'就是這樣工作的。如果你想將多個參數傳遞給echo(),那麼你可以從http://php.net/echo - _「中得到這個參數,這個參數不能包含在圓括號中。」#: – Wiseguy 2011-04-17 00:12:38