salamek/nette-tempnam

这是一个为Nette框架提供的简单tempnam扩展

1.1.4 2022-03-04 14:23 UTC

This package is auto-updated.

Last update: 2024-09-04 19:19:44 UTC


README

这是一个为Nette框架提供的简单tempnam扩展,它会在%tempDir%/tempnam创建临时文件

为什么?

有时您只需要创建一些临时文件,例如PDF、Latte模板等,并且不想将它们放入sys_get_temp_dir() (/tmp) 中,而想在您的Nette项目 %tempDir% 中保留它们,或者只是多次访问相同的临时文件

安装

安装salamek/nette-tempnam的最佳方式是使用Composer

$ composer require salamek/nette-tempnam:@dev

然后您需要在config.neon中注册扩展。

extensions:
    tempnam: Salamek\Tempnam\DI\TempnamExtension

如果您想更改tempnam路径,只需将其添加到您的配置中

tempnam:
   tempDir: %tempDir%/tempnam

使用示例

/** @var Salamek\Tempnam\Tempnam @inject */
public $tempnam;

$key = 'my_tempnam_key_1'; // Lets say ID of record in database
$data = 'My File COntent'; // Lets say record from database we want as file
$updatedAt = new \DateTime('YYYY-mm-dd'); // Lets say updatedAt column from database to expire tempnam file when record in database is changed

// Load temFile Path or null
$tempFile = $this->tempnam->load($key, $updatedAt);


if ($tempFile === null)
{
    $tempFile = $this->tempnam->save($key, $data, $updatedAt);
}

echo file_get_contents($tempFile); // My File COntent

方法

$this->tempnam->getTempDir(); //Returns tempDir
$this->tempnam->remove($key); //Removes tempnam file by its $key
$this->tempnam->load($key, \DateTimeInterface $updatedAt = null); //Returns tempnam file path by its key if updatedAt matches or returns null
$this->tempnam->save($key, $data, \DateTimeInterface $updatedAt = null) //Saves tempnam file by $key with $data content, returns tempnam path