devnull-ir/laravel-downloader

此包已被废弃,不再维护。未建议替代包。

描述

1.2.2 2022-07-22 08:19 UTC

This package is auto-updated.

Last update: 2024-07-22 19:52:18 UTC


README

将文件作为带有特定时间的令牌供您的用户下载,或者作为公共用途的令牌,但带有特定时间

它不允许通过idm下载

支持版本

安装

使用composer: composer require devnull-ir/laravel-downloader

如果您的Laravel版本高于8,则无需执行此操作

将此Provider \DevNullIr\LaravelDownloader\ServiceProvider\LaravelDownloaderServiceProvider::class 添加到 config/app.php

'providers' => [
    ... 
    \DevNullIr\LaravelDownloader\ServiceProvider\LaravelDownloaderServiceProvider::class,
    ...
]

并将 Facade 添加到别名 "LaravelDownloader" => \DevNullIr\LaravelDownloader\Facade\LaravelDownloaderFacade::class: 新版本Laravel

    'aliases' => Facade::defaultAliases()->merge([
        ...
        "LaravelDownloader" => \DevNullIr\LaravelDownloader\Facade\LaravelDownloaderFacade::class
        ...
    ])->toArray(),

旧版本

'aliases' => [
    ... 
    "LaravelDownloader" => \DevNullIr\LaravelDownloader\Facade\LaravelDownloaderFacade::class,
    ...
];

用法

在您的终端中输入以下命令

php artisan migrate

如果您没有提供代码,应使用以下Facade

use DevNullIr\LaravelDownloader\Facade\LaravelDownloaderFacade as LaravelDownloader;

如果您想上传文件,请执行以下操作

在控制器中使用

use DevNullIr\LaravelDownloader\Facade\LaravelDownloaderFacade as LaravelDownloader;
use \Illuminate\Support\Facades\Request;

并更改您的功能控制器

public function upload(Request $request){
    LaravelDownloader::Upload("videoPros", $request->file('input'));
}

现在您的文件已经上传

向用户授权文件访问

仅限一个用户访问

     LaravelDownloader::purchased(file_id, count);

第一个参数是期望的文件,第二个参数是用户可以进行的下载次数

     LaravelDownloader::purchased(1, 5);

仅对登录用户设置,否则不会为用户注册文件

默认值是1

此方法的辅助函数

purchased(int $file_id, int $count = 1): bool

purchased(1,1)
// file 1 With the number of downloads 1

将文件公开给每个人

LaravelDownloader::GeneralPurchased($file_id);
LaravelDownloader::GeneralPurchased(1);

// file 1 Register All User (It is also available for users who have not logged in)

此方法的辅助函数

GeneralPurchased(int $file_id): bool|int

GeneralPurchased(1)
// file 1 Register All User (It is also available for users who have not logged in)

注册新令牌

如果用户没有令牌,则无法下载,因此为每次下载创建令牌非常重要

您必须注册一个令牌,以便用户可以使用该令牌开始下载

LaravelDownloader::registerToken($purchased_id);

每个用户都有一个购买ID,您可以使用它为她创建一个下载令牌

您在这里创建的令牌用于下载,您必须将其提供给用户并将其放入用户的下载链接中

LaravelDownloader::registerToken(1);
// You must enter the access ID that you gave to the user, and here the ID will be 1

此方法的辅助函数

registerToken(int $purchased_id)

为所有用户注册令牌

registerTokenGeneral(int $purchased_id);

输入为所有用户提供的文件ID,否则不允许令牌

registerTokenGeneral(1);

// Enter the file ID that is for all users, otherwise the token is not allowed

压缩文件

您上传文件后,可以将其压缩

要压缩,您需要执行以下命令

LaravelDownloader::zipArchive(array $config = [], array $files = []): array|bool|object

在第一个参数中,您必须输入设置(作为数组)

LaravelDownloader::zipArchive(['zipName'=>"NameFileZip"], array $files = []);

在NameFileZip处,您必须输入您希望zip文件具有的名称,否则将使用默认值。

LaravelDownloader::zipArchive(['removed'=>true], array $files = []);

默认值是false,如果您将此值设置为true,则将删除您压缩的文件

LaravelDownloader::zipArchive(['password'=>'domain'], array $files = []);

如果您启用为zip文件设置密码的功能,则可以使用此选项激活密码。

默认情况下,zip文件禁用加密。默认密码是domain.com

要激活密码功能,您可以阅读配置部分

将文件添加到我的zip文件中

LaravelDownloader::zipArchive(['password'=>'domain'],[8,9,10]);

在第二部分中,您可以看到每个文件的ID

如果输出为OK并且创建了zip文件,则将在数据库中注册一条新记录

下载文件

LaravelDownloader::Download($DownloadToken);

在此步骤中创建的令牌必须输入此处

验证后,将开始下载

此方法的辅助函数

download_ld(string $DownloadToken)

您必须返回值以开始下载

您可以使用以下地址进行下载

http://yourdomain/dl/{token}

您可以稍后根据需要个性化此地址

创建新课程

信息

在版本1.1.0中,我们为用户提供了新功能,以便使他们的工作更加轻松,并更容易开始销售他们的课程。

使用本部分和下一部分,您可以创建一个课程,然后检查此课程的总时长。

开始

public static function makeCourse(string $CourseName, string $CoursePath): bool|object;

要创建新课程,您需要提供该课程名称和该课程的目录地址

您看到的目录是由系统自动创建的,您不需要创建它

此目录位于storage/app/laravel-downloader

确保在上传时在第一个参数中输入您为课程选择的地址

LaravelDownloader::makeCourse("learn laravel downloader", "laravel-downloader-course")

输出结果是false或来自eloquent模型的对象

获取课程所有视频的时长

public static function getDurationCourse(int $Course_ID): string|bool;

在第一个参数中,您必须输入上一步中创建的课程ID

输出结果是一个字符串或False

如果输出值为false,表示未找到该课程;如果是字符串,则表示已提供所有视频的时长

如果未登录,则无法阅读文章

为此,您只需按照以下方式输入您文章的内容(在blade中输入)

...
@ContinueAuth("Content Your Article (You can also write html here.)", "Pleas Logined And Continue (You can also write html here.)", "Parent tag classes of the desired text", "The desired text tag classes")
...

配置

在终端运行此命令

php artisan vendor:publish --tag="LaravelDownloaderConfig"

现在进入config文件夹并打开LaravelDownloader.php文件

要更改默认下载地址,请在此文件中找到返回数组中的"download_route"键,并更改其中的值。现在默认下载链接已更改。

return [
    ...
    'download_route' => "dl",
    ...
];

此路由的特殊名称是"laravelDownloaderDl"。

您想禁用默认路由吗?

要完全禁用默认路由,请将"showDownloadRoute"键的值更改为false

return [
    ...
    'showDownloadRoute' => true,
    ...
];

如果showView为true,则激活路由endDl

示例路由

127.0.0.1:8000/endDl/Token

此路由创建了一个路由,您可以向用户显示感谢信息。

例如,感谢您从我们网站下载,互联网上有很多这样的示例。

您可以自定义用户看到的界面,我将在稍后告诉您。

更改路由tnx dl

要更改该路由的名称,您可以在配置文件的thank_route部分中放入任何您想要的值,它就会更改。

更改tnx dl路由视图

要自定义endDl输出,必须在命令行中输入以下命令。

php artisan vendor:publish --tag="laravel-downloader-views"

现在它已保存到以下路径下的所需视图中

resources/views/vendor/laravelDownloader/download.blade.php

resources/views/vendor/laravelDownloader/download.blade.php

ZIP文件中的密码

要激活此功能,需要在配置目录中的LaravelDownloader.php文件中将"PassFile"值设置为true。

您还可以将filePassword值更改为更改默认密码

模型

课程模型命名空间:DevNullIr\LaravelDownloader\Database\Models\Course

文件列表模型命名空间:DevNullIr\LaravelDownloader\Database\Models\File_dl

权限文件模型命名空间:DevNullIr\LaravelDownloader\Database\Models\Permissions_file

购买的模型命名空间:DevNullIr\LaravelDownloader\Database\Models\purchased