flavioheleno/interim

tmpfile()和sys_get_temp_dir()的open_basedir意识包装器

v0.1.0 2023-03-27 18:38 UTC

This package is auto-updated.

Last update: 2024-08-27 21:53:00 UTC


README

Interim是一个简单的包装器,围绕PHP的tmpfile()sys_get_temp_dir(),考虑到了open basedir限制。

安装

要使用Interim,只需运行

composer require flavioheleno/interim

用法

open_basedir被禁用时,Interim的行为与sys_get_temp_dir()完全相同

// before
var_dump(sys_get_temp_dir());
// string(4) "/tmp"

// after
var_dump(Interim\Temporary::getDirectory());
// string(4) "/tmp"

// -or-
var_dump(Interim\Temporary::getDirectory('tmp'));
// string(4) "/tmp"

// -or-
var_dump(Interim\Temporary::getDirectory('/var/tmp'));
// string(4) "/tmp"

open_basedir被启用时,Interim将检查临时目录是否在open_basedir列表中,如果不是,它将返回一个替代项。

ini_set('open_basedir', '/var/www/html:/var/tmp');

// before (if you try to use "/tmp", an "open_basedir restriction in effect" warning will be raised)
var_dump(sys_get_temp_dir());
// string(4) "/tmp"

// after
var_dump(Interim\Temporary::getDirectory());
// string(4) "/var/www/html"

// -or-
var_dump(Interim\Temporary::getDirectory('tmp'));
// string(4) "/var/www/html/tmp"

// -or-
var_dump(Interim\Temporary::getDirectory('/var/tmp'));
// string(4) "/var/tmp"

许可证

此库根据MIT许可证授权。