请教各位大虾,我想用PHP写一个下载程序down.php,想支持迅雷下载,但是有一个问题,我的网页做了SESSION登陆,要求登陆了才能下载,但是我现在写出来的效果是用登陆以后用迅雷下载,下载出来的是down.php,打开这个文件看了里面的代码,提示是没有登陆,请问这个问题应该怎么解决?

解决方案 »

  1.   

    function file_down($file,$filename='')
    {
    file_exists($file) or die('文件不存在');
    $filename = $filename ? $filename : basename($file);
    $filetype = fileext($filename);
    $filesize = filesize($file);
    header('Cache-control: max-age=31536000');
    header('Expires: '.gmdate('D, d M Y H:i:s', time() + 31536000).' GMT');
    header('Content-Encoding: none');
    header('Content-Length: '.$filesize);
    header('Content-Disposition: attachment; filename='.$filename);
    header('Content-Type: '.$filetype);
    readfile($file);
    exit;
    }
      

  2.   

    谢谢楼上的,我已经找到解决方法了可以利用session_id()来解决登陆的问题