karelwintersky/arris.php-file-download

一个用于帮助创建PHP文件下载的库

1.99.1 2024-07-22 18:13 UTC

This package is auto-updated.

Last update: 2024-09-22 18:36:06 UTC


README

一个用于帮助创建PHP文件下载的类。

提示

如果你可以使用直接下载,你应该直接使用。这个类用于提供PHP之外的文件下载,例如,如果你想提供对临时创建的文件的下载。

用法

以下示例假设你已经包含了命名空间

use Arris\Toolkit\FileDownload;

为文件系统中的文件创建下载

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

通过文件指针创建下载

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

通过内容创建下载

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

例如,你可以为Zend(或任何其他库)生成的PDF文件创建下载

$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");

注意

如果省略方法 sendDownload() 中的文件名,则它将与传递给构造函数的文件名相同。

有一个细节:如果文件是通过字符串创建的: createFromString() - 在 sendDownload() 中省略参数将导致以空名称下载文件。后果未知。