2012-07-17 110 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

相关问题