예제 #1
0
 /**
  * Tag disponível apenas no PHPUnit 3.4, ainda não disponível no pacote
  * Pear PHPUnit-beta3. Note o uso do '@' para supressão das mensagens de
  * erro.
  *
  * @outputBuffering enabled
  */
 public function testStreamFileExtensionSupported()
 {
     $this->configVfs();
     $filename = 'tmp/example.pdf';
     $filepath = vfsStream::url($filename);
     fopen($filepath, 'a+');
     $directory = (array) vfsStream::url(vfsStreamWrapper::getRoot()->getName());
     $stub = $this->getMock('Mimetype');
     $stub->expects($this->once())->method('getType')->will($this->returnValue('application/pdf'));
     $fileStream = new FileStream($stub, $directory);
     $fileStream->setFilepath($filepath);
     @$fileStream->streamFile();
 }
예제 #2
0
 * Faz stream de arquivo para o buffer do navegador.
 *
 * @author   Eriksen Costa Paixão <*****@*****.**>
 * @license  http://creativecommons.org/licenses/GPL/2.0/legalcode.pt  CC GNU GPL
 * @package  Core
 * @since    Arquivo disponível desde a versão 1.1.0
 * @version  $Id$
 */
require_once 'Utils/Mimetype.class.php';
require_once 'Utils/FileStream.class.php';
// Pega o nome do arquivo (caminho completo)
$filename = isset($_GET['filename']) ? $_GET['filename'] : NULL;
// Diretórios públicos (permitidos) para stream de arquivo.
$defaultDirectories = array('tmp', 'pdf');
// Classe Mimetype
$mimetype = new Mimetype();
// Classe FileStream
$fileStream = new FileStream($mimetype, $defaultDirectories);
try {
    $fileStream->setFilepath($filename);
} catch (Exception $e) {
    print $e->getMessage();
    exit;
}
try {
    $fileStream->streamFile();
} catch (Exception $e) {
    print $e->getMessage();
    exit;
}
unlink($filename);