2012-07-17 80 views
0

首先,我對PHP完全陌生,但到目前爲止,我喜歡我用它看到的可能性。從下拉菜單選擇中顯示文件的輸出

好吧,繼承人我的問題。我有一個腳本會自動掃描一個文件夾,並在下拉菜單中顯示該文件夾的文件名。

<?php 
$dirname = "logs"; 
$dir = opendir($dirname); 
echo '<select name="file2">'; 
echo '<option value="">Logfiles</option>'; 
while(false != ($file = readdir($dir))) 
     { 
      if(($file != ".") and ($file != "..")) 
       { 
     echo "<option value=".$file.">$file</option>"; 
       } 
     } 
       echo '</select>'; 
?> 

到目前爲止,這部分工作得很好。

然後我有一段代碼可以顯示所選文件的內容。

<?php 
$content = file("filenamehere"); 
$data = implode("<br>",$content); 
echo $data; 
?> 

這部分本身也很好。

我現在想要結合這兩個腳本。這是我完全失去的地方。我嘗試過將各種變量的各種組合放在一起作爲「filenamehere」,但我只能從下拉菜單中選擇下拉按鈕中的所選文件名。我一直無法獲得代碼的第二部分來顯示我選擇的文件的文件內容。我爲$ content變量嘗試了諸如(「$ file」)之類的東西,但沒有任何反應。

當然,其他任何單一的腳本解決方案也會很好。我只需要能夠掃描一個文件夾,將其文件列在一個下拉列表中,並且一旦我選擇了一個我希望它顯示在頁面上的文件。

任何幫助將深深感激,因爲我是一個PHP初學者。

乾杯。

回答

0

我假設你正在一個頁面中做所有事情。我已經纏select下拉列表中選擇form標籤,並添加一個提交按鈕

echo '<form name="displayfile" action="" method="POST">'; 
echo '<select name="file2">'; 
echo '<option value="">Logfiles</option>'; 
while(false != ($file = readdir($dir))) 
     { 
      if(($file != ".") and ($file != "..")) 
       { 
     echo "<option value=".$file.">$file</option>"; 
       } 
     } 
       echo '</select>'; 
echo '<input type="submit" value="display file" />'; 
echo '</form>'; 

第二部分

<?php 
    //file2 is the name of the dropdown 
    $selectedfile = @$_POST['file2']; 
    $content = file($selectedfile); 
    $data = implode("<br>",$content); 
    echo $data; 

?> 

希望這有助於

+0

輝煌,我剛在你的第二個編輯的路徑部分爲$內容,並且它完美地工作。非常感謝你:) – Instronics 2012-07-17 09:08:07

+0

不客氣 – codingbiz 2012-07-17 09:10:11

+0

我可以再次請求你的幫助。如果我想添加一個可下載選定文件的下載按鈕,那麼我如何實現該功能才能使用基於下拉選擇的文件名? – Instronics 2012-07-17 11:19:01

相關問題