armancodes / laravel-download-link
该包已废弃,不再维护。未建议替代包。
一个简单的Laravel包,用于生成带有过期时间、IP限制等选项的下载链接。
v1.1.0
2021-02-25 06:34 UTC
Requires
- php: ^7.4|^8.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.16
- orchestra/testbench: ^5.0
- phpunit/phpunit: ^9.3
- psalm/plugin-laravel: ^1.2
- vimeo/psalm: ^3.11
This package is auto-updated.
Last update: 2021-09-17 20:29:48 UTC
README
此包允许您生成文件的下载链接。
安装后,您可以进行如下操作
$link = DownloadLink::disk('public')->filePath('uploads/test.txt')->generate(); // zkTu70fieUFZLGMoEP95l1RQfFj5zCOqHlM0XBTnc6ZaZTtm4GY5xPXGGLzLEAVe
配置文件中的默认下载路由是 "download",因此如果您的域名是 "example.com",则应使用此链接
example.com/download/{link}
// For example
example.com/download/zkTu70fieUFZLGMoEP95l1RQfFj5zCOqHlM0XBTnc6ZaZTtm4GY5xPXGGLzLEAVe
注意:您应将 {link}
替换为生成的链接。
安装
您可以通过composer安装此包
composer require armancodes/laravel-download-link
您可以使用以下命令发布和运行迁移
php artisan vendor:publish --provider="Armancodes\DownloadLink\DownloadLinkServiceProvider" --tag="migrations" php artisan migrate
您可以使用以下命令发布配置文件
php artisan vendor:publish --provider="Armancodes\DownloadLink\DownloadLinkServiceProvider" --tag="config"
这是发布后的配置文件内容
return [ /* |-------------------------------------------------------------------------- | Download Route |-------------------------------------------------------------------------- | | Download route will be added to your app URL for using download links. | E.g. if your app URL is "example.com", then if your set the download route to | "download" it will be "example.com/download/{link}". | */ 'download_route' => 'download', ];
用法
您可以使用给定的名称显式设置要保存和下载的文件名
$link = DownloadLink::disk('public')->filePath('uploads/test.txt')->fileName('new-text.txt')->generate();
也可以添加过期时间,以便链接在过期前可用
$link = DownloadLink::disk('public')->filePath('uploads/test.txt')->expire(now()->addDay())->generate();
您可以指定是否只有认证用户或访客才能使用此链接
// Authenticated users only $link = DownloadLink::disk('public')->filePath('uploads/test.txt')->auth()->generate(); // Guests only $link = DownloadLink::disk('public')->filePath('uploads/test.txt')->guest()->generate();
您可以将一个或多个IP地址放入黑名单(下载链接不会与这些IP地址一起工作)
$link = DownloadLink::disk('public')->filePath('uploads/test.txt')->limitIp('127.0.0.1')->generate(); $link = DownloadLink::disk('public')->filePath('uploads/test.txt')->limitIp(['127.0.0.1', '127.0.0.2', '127.0.0.3'])->generate();
或者您可以将一个或多个IP地址放入白名单(下载链接仅与这些IP地址一起工作)
$link = DownloadLink::disk('public')->filePath('uploads/test.txt')->allowIp('127.0.0.1')->generate(); $link = DownloadLink::disk('public')->filePath('uploads/test.txt')->allowIp(['127.0.0.1', '127.0.0.2', '127.0.0.3'])->generate();
配置文件中的默认下载路由是 "download",因此如果您的域名是 "example.com",则应使用此链接下载
example.com/download/{link}
// For example
example.com/download/zkTu70fieUFZLGMoEP95l1RQfFj5zCOqHlM0XBTnc6ZaZTtm4GY5xPXGGLzLEAVe
注意:您应将 {link}
替换为生成的链接。
您可以像这样删除链接
DownloadLink::delete('link'); // For example DownloadLink::delete('zkTu70fieUFZLGMoEP95l1RQfFj5zCOqHlM0XBTnc6ZaZTtm4GY5xPXGGLzLEAVe');
您可以使用以下命令删除数据库中的过期链接
php artisan download-links:remove-expired
测试
composer test
更新日志
请参阅更新日志以了解最近的变化。
贡献
请参阅贡献指南以获取详细信息。
安全
如果您发现任何安全相关的问题,请通过电子邮件me@armancodes.com联系,而不是使用问题跟踪器。
致谢
许可证
MIT许可证(MIT)。有关更多信息,请参阅许可证文件。