<?php
 
class Leach {
 
    var $pathes=array();
 
    public function __construct($pathes) {
 
        $this->pathes=$pathes;
 
    }
 
    public function getFile($filename,$dir='') {
 
        
 
        if(!$dir) {
 
            foreach($this->pathes as $k=>$v) {
 
                if(file_exists($_SERVER['DOCUMENT_ROOT'].$v.$filename)) {$dir=$_SERVER['DOCUMENT_ROOT'].$v;}
 
            }
 
        } else {
 
            $dir=$_SERVER['DOCUMENT_ROOT'].$this->pathes[$dir];
 
        }
 
        if(file_exists($dir.$filename)) {
 
            $_SESSION['leach']=array();
 
            header("Content-type: application/other");
 
            header("Content-Disposition: attachment; filename=".$filename);
 
            header("Cache-Control: must-revalidate");
 
                        $fp=fopen($dir.$filename,'r');
 
            $contents = '';
 
                        while (!feof($fp)) {
 
                            $contents=fread($fp, 1024);
 
                            echo $contents;
 
                        }
 
                        fclose($fp);
 
 
        } else {
 
            $_SESSION['leach']=array();
 
            echo "File doesn't exists.";
 
        }
 
    }
 
    public function setAccess($filename) {
 
        $_SESSION['leach'][]=$filename;
 
        return true;
 
    }
 
}
 
 |