A class to help with creating downloads for files in PHP
PHP
Latest commit ac97f04 May 21, 2015 @apfelbox Merge pull request #4 from kordianbruck/master
Updated readme
Permalink
Failed to load latest commit information.
src Added sendDownload() bool param $forceDownload Feb 5, 2014
LICENSE Change license to BSD-3 Feb 10, 2014
README.md Updated readme Mar 12, 2015
composer.json Change license to BSD-3 Feb 10, 2014

README.md

PHP File Download

A class to help with creating downloads for files in PHP.

Tip

If you can use direct downloads, you should just use them. This class is for providing downloads of files out of PHP, for example if you want to provide a download to a temporarily created file.

Usage

The examples assume, that you have included the namespace:

use Apfelbox\FileDownload\FileDownload;

Create a download for a file on your file system

$fileDownload = FileDownload::createFromFilePath("/path/to/file.pdf");
$fileDownload->sendDownload("download.pdf");

Create a download for a file via file pointer

$file = /* your file, somewhere opened with fopen() or tmpfile(), etc.. */;
$fileDownload = new FileDownload($file);
$fileDownload->sendDownload("download.pdf");

Create a download for a file via content

$content = "This is the content of the file:";
$fileDownload = FileDownload::createFromString($content);
$fileDownload->sendDownload("download.txt");

For example, you can create downloads for PDF files, generated by Zend (or any other library):

$pdf = new Zend_Pdf();
$page = $pdf->newPage(Zend_Pdf_Page::SIZE_A4);
$pdf->pages[] = $page;

/* draw content in the pdf ... */

$fileDownload = FileDownload::createFromString($pdf->render());
$fileDownload->sendDownload("download.pdf");