下载文件采用动态生成的,即文件放在一个目录下,这个目录隐蔽一点,下载文件用PHP脚本去读取,然后向浏览器输出成下载文件即刻的,这样,只有编制脚本的和网管知道文件位置,而用户却不知道文件的位置。

解决方案 »

  1.   

    建议利用SESSION和COOKIE功能,判别用户是否为注册用户,如果是的话,
    定义$link="<a href=......>filename</a>";
    如果不是则:
    $link="filename";
    让非注册用户无连接显示
      

  2.   

    to kalayang(七月流火):
    不让链接出现也不能防止非注册用户下载文件的,因为他可以直接在地址栏输入地址,如果他看到别人下载的地址的话。
      

  3.   

    to:leejd(小东) 
    下载文件采用动态生成的,即文件放在一个目录下,这个目录隐蔽一点,下载文件用PHP脚本去读取,然后向浏览器输出成下载文件即刻的,这样,只有编制脚本的和网管知道文件位置,而用户却不知道文件的位置。 请问你是说即时生成一个文件然后删除吗?
    或者是用PHP想用户输出一个文件?如果是这样的话,怎么输出呢?
      

  4.   

    就是说让PHP脚本读入要下载的文件,然后在输出(输出的格式为可下载的,注意脚本的头要加application之类的话语)。原文件如果想保密,最好放到数据库里面。隐蔽的目录也行的。
      

  5.   

    同意leejd的观点,源文件可以放在webserver不能解析的路径中,例如web服务器的根路径是绝对路径
    /www/webroot/
    文件可以放在绝对路径
    /www/files/
    这样的话用户不能通过浏览器直接下载,必须通过php读取文件并转换才可以下载
    文件标头、文件名称、大小,都可以使用header()用http协议传送给客户端。
      

  6.   

    加一个加密的cookie不久可以了,注册的用户有cookie可以访问,其他用户不能访问。
      

  7.   

    to leejd(小东) & yorgo(羽高) 
    ok,给分