original_string: public function download()
    {
      if ( $this->file ){
        if ( !$this->size ){
          $this->get_size();
        }
        if ( $this->size && ($handle = fopen($this->file, 'r')) ){
          header('Content-type: application/octet-stream');
          header('Content-Disposition: attachment; filename="'.$this->name.'"');
          while ( !feof($handle) ){
            echo fread($handle, 65536);
          }
          fclose($handle);
        }
        else{
          die('Impossible to read the file '.$this->name);
        }
      }
      return $this;
    }
code: public function download()
    {
      if ( $this->file ){
        if ( !$this->size ){
          $this->get_size();
        }
        if ( $this->size && ($handle = fopen($this->file, 'r')) ){
          header('Content-type: application/octet-stream');
          header('Content-Disposition: attachment; filename="'.$this->name.'"');
          while ( !feof($handle) ){
            echo fread($handle, 65536);
          }
          fclose($handle);
        }
        else{
          die('Impossible to read the file '.$this->name);
        }
      }
      return $this;
    }
code_tokens: public function download ( ) { if ( $ this -> file ) { if ( ! $ this -> size ) { $ this -> get_size ( ) ; } if ( $ this -> size && ( $ handle = fopen ( $ this -> file , 'r' ) ) ) { header ( 'Content-type: application/octet-stream' ) ; header ( 'Content-Disposition: attachment; filename="' . $ this -> name . '"' ) ; while ( ! feof ( $ handle ) ) { echo fread ( $ handle , 65536 ) ; } fclose ( $ handle ) ; } else { die ( 'Impossible to read the file ' . $ this -> name ) ; } } return $ this ; }
docstring: Downloads the file. At the end of the script the user will be invited to choose the file's destination. If the file doesn't exist return an object with parameter file = null.
  
  ```php
  $f = new \bbn\file('C:/Test/file.png');
  $f->download();
  ```
  
  @return file
docstring_tokens: Downloads the file . At the end of the script the user will be invited to choose the file s destination . If the file doesn t exist return an object with parameter file = null .