PHP自動(dòng)重命名文件實(shí)現(xiàn)方法
本文實(shí)例講述了PHP自動(dòng)重命名文件實(shí)現(xiàn)方法。分享給大家供大家參考。具體方法分析如下:
PHP重命名文件名我們?cè)趯?shí)際開(kāi)發(fā)過(guò)程中經(jīng)常會(huì)使用到,比如用戶上傳文件或是一些緩存文件自動(dòng)生成的功能我們都需要使用到自動(dòng)重命名功能。但一般我們?cè)谥谱魃蟼魑募r(shí)命名方式都是使用取系統(tǒng)當(dāng)前時(shí)間加上隨時(shí)數(shù)的方式在進(jìn)行,這種方法固然可行但有時(shí)候并不能滿足客戶要需求。有些客戶就要求我們的文件名命名方式要像windows系統(tǒng)一樣自動(dòng)流水編號(hào),比如上傳一個(gè)名字為“新建文本文檔”當(dāng)再有其它人上傳一個(gè)文件名為“新建文本文檔”時(shí)我們就使用流水號(hào)命名意思就是自動(dòng)然第二個(gè)“新建文本文檔”命名為“新建文本文檔(1)” 當(dāng)再有人上傳同名文件再以此類(lèi)推。
下面分享一個(gè)源碼給大家:
<?php $file = dirname(__FILE__).'/新建文本文檔.txt'; echo L_rename($file); function L_rename($file){ $iCount = 0; $File_type = strrchr($file, '.'); $FilePath = substr($file, 0, strrpos($file, '.')); while (true) { if (is_file($file)) { ++$iCount; $file = $FilePath . '('. $iCount .')' . $File_type; }else{ break; } } if (fopen($file, 'w')) {$Msg = '創(chuàng)建成功 '.$file;} return $Msg; } ?>
當(dāng)然實(shí)際過(guò)程中一般都是根據(jù)當(dāng)前的日期進(jìn)行命名
php rename() 函數(shù)
rename() 函數(shù)可以重命名一個(gè)文件或者目錄,成功時(shí)返回 TRUE,失敗時(shí)則返回 FALSE。該函數(shù)的語(yǔ)法格式如下:
rename(string $oldname, string $newname[, resource $context])
其中,$oldname 為要修改的文件名;$newname 為新的文件名;$context 為可選參數(shù),用來(lái)規(guī)定文件句柄的環(huán)境。$context 是一套可以修改流的行為的選項(xiàng)。
【示例】使用 rename() 函數(shù)來(lái)重命名一個(gè)文件。
<?php $file = 'test.txt'; if(file_exists($file)){ if(rename($file,'newtest.txt')){ echo $file.' 重命名成功!'; }else{ echo $file.' 重命名失??!'; } }else{ echo $file.' 不存在!'; } ?>
運(yùn)行上面的代碼會(huì)將根目錄的 test.txt 文件重命名為 newtest.txt,并輸出一下內(nèi)容:
test.txt 重命名成功!
使用 rename() 函數(shù)有以下幾點(diǎn)需要注意:
對(duì)于非空文件夾,只能在同一盤(pán)符下移動(dòng);
對(duì)于空文件夾,rename() 可以在不同盤(pán)符間移動(dòng)。但是目標(biāo)文件夾的父目錄必須存在;
對(duì)于文件,rename() 也能在不同盤(pán)符之間移動(dòng)。
希望本文所述對(duì)大家的PHP程序設(shè)計(jì)有所幫助。
- php遍歷目錄與文件夾的多種方法詳解
- PHP遍歷某個(gè)目錄下的所有文件和子文件夾的實(shí)現(xiàn)代碼
- 使用PHP遍歷文件夾與子目錄的函數(shù)代碼
- php 遍歷顯示文件夾下所有目錄、所有文件的函數(shù),沒(méi)有分頁(yè)的代碼
- php實(shí)現(xiàn)的遍歷文件夾下所有文件,編輯刪除
- php實(shí)現(xiàn)遍歷文件夾的方法匯總
- PHP實(shí)現(xiàn)批量重命名某個(gè)文件夾下所有文件的方法
- 6種php上傳圖片重命名的方法實(shí)例
- 基于php上傳圖片重命名的6種解決方法的詳細(xì)介紹
- PHP實(shí)現(xiàn)讀取文件夾及批量重命名文件操作示例
相關(guān)文章
PHP使用PDO訪問(wèn)oracle數(shù)據(jù)庫(kù)的步驟詳解
POD擴(kuò)展是在PHP5中加入,該擴(kuò)展提供PHP內(nèi)置類(lèi) PDO來(lái)對(duì)數(shù)據(jù)庫(kù)進(jìn)行訪問(wèn),不同數(shù)據(jù)庫(kù)使用相同的方法名,解決數(shù)據(jù)庫(kù)連接不統(tǒng)一的問(wèn)題。下面這篇文章主要給大家介紹了關(guān)于PHP使用PDO訪問(wèn)oracle數(shù)據(jù)庫(kù)的步驟,需要的朋友可以參考下。2017-09-09如何用PHP實(shí)現(xiàn)分布算法之一致性哈希算法
進(jìn)行大型網(wǎng)站的web開(kāi)發(fā)時(shí),分布式這個(gè)詞經(jīng)常出現(xiàn)在我們面前。如: memcache、redis服務(wù)器等緩存服務(wù)器的負(fù)載均衡(分布式cache)、 MySQL的分布式集群,這些都會(huì)用到分布式的思想,都要理解分布式算法。接下來(lái)以緩存服務(wù)器的負(fù)載均衡來(lái)談一下一致性哈希算法。2021-05-05PHP判斷一個(gè)變量是否為整數(shù)、正整數(shù)的方法示例
這篇文章主要給大家介紹了關(guān)于PHP判斷一個(gè)變量是否為整數(shù)、正整數(shù)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用PHP具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09PHP+ajax實(shí)現(xiàn)上傳、刪除、修改單張圖片及后臺(tái)處理邏輯操作詳解
這篇文章主要介紹了PHP+ajax實(shí)現(xiàn)上傳、刪除、修改單張圖片及后臺(tái)處理邏輯操作,結(jié)合實(shí)例形式詳細(xì)分析了前臺(tái)ajax提交圖片上傳、刪除、修改以及后臺(tái)PHP邏輯處理相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下2020-02-02PHP5.0~5.6 各版本兼容性cURL文件上傳功能實(shí)例分析
這篇文章主要介紹了PHP5.0~5.6 各版本兼容性cURL文件上傳功能,結(jié)合實(shí)例形式分析了php各個(gè)常見(jiàn)版本進(jìn)行curl文件上傳操作的相關(guān)實(shí)現(xiàn)技巧與注意事項(xiàng),需要的朋友可以參考下2018-05-05PHP內(nèi)存緩存Memcached類(lèi)實(shí)例
這篇文章主要介紹了PHP內(nèi)存緩存Memcached類(lèi),以實(shí)例形式分析了PHP內(nèi)存緩存Memcached的實(shí)現(xiàn)方法,是php操作memcached的典型應(yīng)用,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2014-12-12