我想更新文件名,以便每次更新时看起来像这样。
some_name_1, some_name_2, some_name_3, etc.
每次更新都会将尾随整数加一。下面是我的原型,我想在实施之前确保这是实现它的最佳实践方式。另外,我不是 100% PHP 会正确地进行隐式转换。
这是更新文件名的好方法吗?
// ... in a class
private function updateFileName()
{
$pattern = '#_(\d+)$#';
$subject = $this->file_name; // $subject holds current file name
preg_match($pattern, $subject, $matches);
if($matches[0])
{
$patterns = array();
$temp = $matches[0];
$patterns[0] = '/$temp$/';
$replacements = array();
$replacements[0] = $matches[0] + 1;
preg_replace($patterns, $replacements, $subject); // $subject now holds new name
}
}
澄清
- 文件名实际上是一个哈希,是一个字符串。
- _1 等将始终位于字符串的末尾(使用锚点可能很好)