轻松创建、使用和销毁临时目录
spatie/temporary-directory 统计
- 下载量
- 36.7M
- 星标
- 800
- 开放问题
- 0
- 分支
- 43
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)。有关更多信息,请参阅许可证文件。