试了一下,超链接的确无效,可能是某种安全机制吧。
在实际使用中一般这样操作:$dir="/upload/";
$dir_res=opendir($_SERVER['DOCUMENT_ROOT'].$dir);
while($filen=readdir($dir_res)){ 
   if(is_file($_SERVER['DOCUMENT_ROOT'].$dir.$filen))
      echo "<a href='{$dir}{$filen}'>$filen</a><br>"; 

closedir($dir_res); 

解决方案 »

  1.   

    $dir="/upload/";
    $dir_res=opendir($_SERVER['DOCUMENT_ROOT'].$dir);
    while($filen=readdir($dir_res)){ 
       if(is_file($_SERVER['DOCUMENT_ROOT'].$dir.$filen))
          echo "<a href='{$dir}{$filen}'>$filen</a><br>"; 

    closedir($dir_res); 
    =============================================================
    我把确实能看到upload文件夹下的文件的内容,但是它是远程访问文件吧,并不是远程下载阿!!他只能看到服务器上的文件,却不能把服务器的文件下载到客户端阿!!还有$_SERVER['DOCUMENT_ROOT']的路径能否修改阿!!!!我的默认路径是C:\Program Files\Apache Software Foundation\Apache2.2\htdocs 太麻烦了,
      

  2.   

    你别激动
    下不下载不是你我决定的,而是由文件扩展名决定。比如有个文件是abc.rar,可能远程访问吗?点击只后只会提示下载;再如abc.htm,点击之后可能提示下载吗?除非使用目标另存为。
    至于要改DOCUMENT_ROOT,可以通过修改httpd.conf实现。
    如你要将网站根目录改为C:\htdocs
    找到DocumentRoot "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs"
    改为DocumentRoot "C:/htdocs"
    找到<Directory "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs">
    改为<Directory "C:/htdocs">
      

  3.   

    不好意思,我初学php。我不明白的是我上传.txt文件到服务器时,在服务器的相关目录下能找到来自客户端上传的.txt文件。
    那文件下载,我为什么用上述代码,在客户端只能看到服务器端文件里的内容,却不能把.txt文件下载到本地呢!!
      

  4.   

    哦,我知道了,.txt文件不能下载到本地只能看,.rar可以下载到本地。
    十分感谢!!!!!