cs278 / mktemp
使用PHP安全地创建临时文件和目录。
Requires
- php: ^5.3.3 || ^7 || ^8
Requires (Dev)
- bamarni/composer-bin-plugin: ^1.3.0
- symfony/phpunit-bridge: 5.2.* || ^6.3
This package is auto-updated.
Last update: 2024-08-27 11:05:58 UTC
README
在PHP中创建临时文件和目录,确保安全。
遗憾的是,PHP在安全创建临时文件和目录方面存在缺陷。这个库旨在解决这些问题。
用法
函数
-
Cs278\Mktemp\temporaryFile(string|null $template, string|null $dir)
创建一个具有提供模板名称的临时文件。
模板应包含至少3个连续的
X
字符的字符串,这些字符将被随机组件替换。字符串中的最后一个有效序列将被使用。如果此参数为null
,则使用默认的tmp.XXXXXX
模板。目录应是一个用户可以写入的存在的路径,如果不提供此参数,则使用默认的临时目录。
如果无法创建文件,将抛出
Cs278\Mktemp\Exception\CreateFailedException
。use function Cs278\Mktemp\temporaryFile; var_dump(temporaryFile()); // /tmp/tmp.P9aLnd var_dump(temporaryFile('output.XXXX.pdf')); // /tmp/output.oI7b.pdf var_dump(temporaryFile(null, '/var/tmp')); // /var/tmp/tmp.8uJx var_dump(temporaryFile('test.XXX.html', '/var/tmp')); // /var/tmp/test.9h2.html
-
Cs278\Mktemp\temporaryDir(string|null $template, string|null $dir)
创建一个具有提供模板名称的临时目录。
模板应包含至少3个连续的
X
字符的字符串,这些字符将被随机组件替换。字符串中的最后一个有效序列将被使用。如果此参数为null
,则使用默认的tmp.XXXXXX
模板。目录应是一个用户可以写入的存在的路径,如果不提供此参数,则使用默认的临时目录。
如果无法创建目录,将抛出
Cs278\Mktemp\Exception\CreateFailedException
。use function Cs278\Mktemp\temporaryDir; var_dump(temporaryDir()); // /tmp/tmp.P9aLnd var_dump(temporaryDir('output.XXXX.pdf')); // /tmp/output.oI7b.pdf var_dump(temporaryDir(null, '/var/tmp')); // /var/tmp/tmp.8uJx var_dump(temporaryDir('test.XXX.html', '/var/tmp')); // /var/tmp/test.9h2.html
Cs278\Mktemp\TempFile
-
TempFile::__construct(string|null $template, string|null $dir)
创建一个管理文件系统实体生命周期的临时文件对象。
参数与
temporaryFile()
中记录的参数相同。 -
TempFile::getPath()
返回临时文件的路径,主要用于与PHP外部交互。
-
TempFile::open(string $mode)
根据提供的模式打开文件进行读取/写入,默认为
r+
。返回一个\SplFileObject
,可用于操作临时文件的内容。 -
TempFile::keep(string $newPath)
将临时文件持久化到指定的路径,返回一个表示新文件的新的
\SplFileInfo
。 -
TempFile::copyTo(resource $stream)
将文件内容复制到提供的流中。
-
TempFile::release()
从磁盘删除临时文件。