轻松创建、使用和销毁临时目录

spatie/temporary-directory image

spatie/temporary-directory 统计

下载量
36.7M
星标
800
开放问题
0
分支
43

在 GitHub 上查看 →

Spatie Temporary-directory 自述文件


快速创建、使用和删除临时目录

此包允许您在系统的临时目录中快速创建、使用和删除临时目录。

以下是如何创建临时目录并将其删除的简要示例

use Spatie\TemporaryDirectory\TemporaryDirectory;
 
$temporaryDirectory = (new TemporaryDirectory())->create();
 
// Get a path inside the temporary directory
$temporaryDirectory->path('temporaryfile.txt');
 
// Delete the temporary directory and all the files inside it
$temporaryDirectory->delete();

支持我们

我们在创建一流的开源软件包方面投入了大量资源。您可以通过购买我们的一款付费产品来支持我们。

我们非常感谢您从您的家乡寄给我们一张明信片,并提及您正在使用我们哪些软件包。您可以在我们的联系页面上找到我们的地址。我们将所有收到的明信片发布在我们的虚拟明信片墙上

安装

您可以通过 Composer 安装此软件包

composer require spatie/temporary-directory

用法

创建临时目录

要创建临时目录,只需在 TemporaryDirectory 对象上调用 create 方法。

(new TemporaryDirectory())->create();

或者,使用 TemporaryDirectory 对象上的静态 make 方法。

TemporaryDirectory::make();

默认情况下,临时目录将在系统临时目录(通常为 /tmp)中的一个带时间戳的目录中创建。

命名您的临时目录

如果您想使用自定义名称来代替时间戳来命名临时目录,请在 create 方法之前使用一个字符串 $name 参数调用 name 方法。

(new TemporaryDirectory())
->name($name)
->create();

默认情况下,如果使用给定的参数已经存在一个目录,则会抛出异常。您可以通过将 force 方法与 name 方法结合使用来覆盖此行为。

(new TemporaryDirectory())
->name($name)
->force()
->create();

为临时目录设置自定义位置

您可以通过将一个字符串 $location 参数传递给 TemporaryDirectory 构造函数来设置自定义位置,该位置将用于创建临时目录。

(new TemporaryDirectory($location))
->create();

make 方法也接受 $location 参数。

TemporaryDirectory::make($location);

最后,您可以使用 $location 参数调用 location 方法。

(new TemporaryDirectory())
->location($location)
->create();

确定临时目录内的路径

您可以使用 path 方法来确定临时目录中文件或目录的完整路径

$temporaryDirectory = (new TemporaryDirectory())->create();
$temporaryDirectory->path('dumps/datadump.dat'); // return /tmp/1485941876276/dumps/datadump.dat

清空临时目录

使用 empty 方法删除临时目录内的所有文件。

$temporaryDirectory->empty();

删除临时目录

完成对临时数据的处理后,您可以使用 delete 方法删除整个临时目录。它内部的所有文件都将被删除。

$temporaryDirectory->delete();

在对象被销毁时删除临时目录

如果您希望在对象实例在其定义的范围内不再有任何引用时自动删除文件系统目录,您可以在 TemporaryDirectory 对象上启用 deleteWhenDestroyed()

function handleTemporaryFiles()
{
$temporaryDirectory = (new TemporaryDirectory())
->deleteWhenDestroyed()
->create();
 
// ... use the temporary directory
 
return; // no need to manually call $temporaryDirectory->delete()!
}
 
handleTemporaryFiles();

您也可以对对象实例调用 unset()

测试

composer test

变更日志

有关最近更改的更多信息,请参阅CHANGELOG

贡献

有关详细信息,请参阅CONTRIBUTING

安全漏洞

有关如何报告安全漏洞的详细信息,请查看我们的安全策略

明信片软件

您可以免费使用此软件包,但如果它进入您的生产环境,我们非常感谢您从您的家乡寄给我们一张明信片,并提及您正在使用我们哪些软件包。

我们的地址是:Spatie,Kruikstraat 22,2018 安特卫普,比利时。

我们将所有收到的明信片发布在我们公司的网站上

致谢

许可证

MIT 许可证 (MIT)。有关更多信息,请参阅许可证文件

spatie photo

我们为开发人员社区创建开源的数字产品和课程

Cube

Laravel 新闻稿

加入 40,000 多名其他开发人员,绝不错过新的技巧、教程等。


与 Spatie 临时目录相关的文章

Kirschbaum logo

Kirschbaum

提供创新和稳定性,确保您的 Web 应用程序取得成功。

Kirschbaum
Bacancy logo

Bacancy

只需每月 2,500 美元,即可为您的项目配备经验丰富的 Laravel 开发人员,拥有 4-6 年的经验。获得 160 小时的专业知识,并享有 15 天的无风险试用期。立即安排通话!

Bacancy
Lucky Media logo

Lucky Media

立即获得幸运 - Laravel 开发的理想选择,拥有十多年的经验!

Lucky Media
SaaSykit: Laravel SaaS Starter Kit logo

SaaSykit:Laravel SaaS 启动套件

SaaSykit 是一个 Laravel SaaS 启动套件,它包含运行现代 SaaS 所需的所有功能。支付、漂亮结账、管理面板、用户仪表板、身份验证、即用型组件、统计数据、博客、文档等等。

SaaSykit:Laravel SaaS 启动套件
No Compromises logo

毫无妥协

Joel 和 Aaron 是“毫无妥协”播客中两位经验丰富的开发人员,现在可以为您的 Laravel 项目聘用。 ⬧ 固定费率为每月 7,500 美元。 ⬧ 没有冗长的销售流程。 ⬧ 没有合同。 ⬧ 100% 退款保证。

毫无妥协
Shift logo

Shift

正在运行旧版本的 Laravel?立即进行自动化的 Laravel 升级和代码现代化,以保持应用程序的新鲜度。

Shift