簡體   English   中英

使用PHP重命名文件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM