搜索目录中的文件并创建下载链接


Search files in a directory and create a download link

 <html>
    <body>
    <table>
    <form action="" method="GET">
    <tr><td>Please Enter your KCSE Index Number</td><td><input type="text" id="index_no" name="q" value=""></td></tr>
   <tr><td></td><td><input type="Submit" id="print"  value="Search"></td></tr>
    </form>
    </table>    
    </body>
    </html>
<?php
$dir = 'C:'wamp'www'test'admisssionletters'; 
$exclude = array('.','..','.htaccess'); 
$q = (isset($_GET['q']))? strtolower($_GET['q']) : ''; 
$textarea=$_GET['q'];
$res = opendir($dir); 
while(false!== ($file = readdir($res))) 
{ 
if(strpos(strtolower($file),$q)!== false &&!in_array($file,$exclude)) 
    { 
    echo "Click to download or Print your Adm Letter      <ahref='$dir/$file'>$file</a>"; 
    echo "<br>"; 
    } 
} 
closedir($res); 
?>

1.下载链接不起作用

c:'wamp'www'test'admisssionletters/20400003066_2014.pdf

但是,如果文件名前面的斜杠更改为:

  c:'wamp'www'test'admisssionletters'20400003066_2014.pdf

有效,如何在代码中更改它?

阿拉伯数字。我还想将输入文本中输入的值限制为特定数字,如何实现?

不能将磁盘上的位置用作超链接。仅当您实际位于存储文件的计算机上时,该位置才有意义。如果您在另一台计算机上,查看网站(远程,不要忘记),那么

'C:'wamp'www'test'admisssionletters'20400003066_2014.pdf';

表示用于查看站点的计算机的 C 驱动器,而不是托管站点的计算机。或者,如果您不使用Windows PC,则没有任何意义!

超链接的形式是http://hostname/resource的,指向您的网络服务器,然后由网络服务器决定如何处理它们。它可能指向磁盘上的真实文件,也可能不是(如果您使用框架或其他东西来解释 URL)。在您的情况下,我猜 C:''wamp''www 可能是您的网络服务器托管文件的根文件夹。例如,让我们假设您的计算机的主机名是"mycomputer"。因此,您需要在网站上显示的指向 C:''wamp''www''test''admisssionletters''20400003066_2014.pdf 的链接将是

http://mycomputer/test/admisssionletters/20400003066_2014.pdf