[英]Rename files using PHP
我希望能夠使用PHP重命名文件。
以下腳本檢查新名稱是否存在。 如果確實如此(並且包括后綴),則后綴將增加。
if(file_exists($fileName)) {
$fileNewName= preg_replace_callback('/(?<=_)\d+(?=\.)/',
function ($m) { return ++$m[0]; },
$fileName);
}
但是,如果文件不包含后綴,則不會將任何內容添加到文件中。
例:
filename_1.txt becomes filename_2.txt
however
filename.txt is not renamed.
您能幫我添加后綴(_1)是不存在后綴的嗎? 例:
filename.txt becomes filename_1.txt
也許像這樣(未經測試):
if(file_exists($fileName)) {
$fileNewName = preg_replace_callback('/(?:(?<=_)\d+)?(?=\.[^.]*$)/',
function ($m) { return empty($m[0]) ? '_1' : ++$m[0]; },
$fileName, 1);
}
簡而言之,您將開頭設為可選(?:(?<=_)\\d+)?
並確保該點是最后一個(?=\\.[^.]*$)
。 當$m[0]
為空時,使用三元運算符,則返回“ _1”,否則返回增量值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.