该软件包允许您快速创建、使用和删除系统临时目录中的临时目录。
以下是有关如何创建临时目录并删除它的快速示例:
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
请参阅变更日志以了解有关最近更改内容的更多信息。
详细信息请参阅贡献。
请查看我们的安全政策,了解如何报告安全漏洞。
您可以自由使用这个软件包,但如果它进入您的生产环境,我们非常感谢您从您的家乡给我们寄一张明信片,注明您正在使用我们的哪个软件包。
我们的地址是:Spatie, Kruikstraat 22, 2018 安特卫普, 比利时。
我们在公司网站上发布所有收到的明信片。
麻省理工学院许可证 (MIT)。请参阅许可证文件以获取更多信息。