karelwintersky / arris.php-file-download
一个用于帮助创建PHP文件下载的库
1.99.1
2024-07-22 18:13 UTC
Requires
- php: ^7.4 | ^8.0
- karelwintersky/arris.toolkit.mimetypes: ^1
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()
中省略参数将导致以空名称下载文件。后果未知。