温馨提示×

如何在PHP中限制tempnam函数生成的文件类型

PHP
小樊
82
2024-08-12 16:01:38
栏目: 编程语言

在PHP中,tempnam函数可以用来创建一个唯一的临时文件名。如果想要限制tempnam函数生成的文件类型,您可以使用如下方法:

  1. 使用正则表达式过滤文件名:您可以使用正则表达式来限制tempnam函数生成的文件名只能包含特定的字符或者匹配特定的文件类型。例如,您可以使用preg_match函数来检查文件名中是否包含特定的文件扩展名,如果不包含则重新生成文件名。
$filename = tempnam('/tmp', 'prefix');
while (!preg_match('/\.txt$/', $filename)) {
    $filename = tempnam('/tmp', 'prefix');
}
  1. 手动检查文件类型:您可以手动检查tempnam函数生成的文件名是否符合您的要求,如果不符合则重新生成文件名。
$filename = tempnam('/tmp', 'prefix');
if (substr($filename, -4) !== '.txt') {
    $filename = tempnam('/tmp', 'prefix');
}
  1. 自定义函数生成文件名:如果您需要更加复杂的文件名限制,您可以编写一个自定义的函数来生成文件名,以确保生成的文件名符合您的要求。
function generateTempFilename($prefix, $extension) {
    $filename = tempnam('/tmp', $prefix);
    return $filename . '.' . $extension;
}

$filename = generateTempFilename('prefix', 'txt');

0