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)再有人上傳同名文件再以此類推。
下面分享一個(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ì)于非空文件夾,只能在同一盤符下移動(dòng);
對(duì)于空文件夾,rename() 可以在不同盤符間移動(dòng)。但是目標(biāo)文件夾的父目錄必須存在;
對(duì)于文件,rename() 也能在不同盤符之間移動(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計(jì)算百度地圖兩個(gè)GPS坐標(biāo)之間距離的方法
這篇文章主要介紹了PHP計(jì)算百度地圖兩個(gè)GPS坐標(biāo)之間距離的方法,是針對(duì)百度地圖接口開(kāi)發(fā)的典型應(yīng)用,需要的朋友可以參考下2015-01-01
PHP+MySQL之Insert Into數(shù)據(jù)插入用法分析
這篇文章主要介紹了PHP+MySQL之Insert Into數(shù)據(jù)插入用法,實(shí)例分析了php+mysql基于Insert Into語(yǔ)句實(shí)現(xiàn)數(shù)據(jù)插入的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-09-09
PHP共享內(nèi)存使用與信號(hào)控制實(shí)例分析
這篇文章主要介紹了PHP共享內(nèi)存使用與信號(hào)控制,結(jié)合實(shí)例形式分析了php基于shmop擴(kuò)展實(shí)現(xiàn)共享內(nèi)存的進(jìn)程間通信以及信號(hào)控制等相關(guān)操作技巧,需要的朋友可以參考下2018-05-05
深入Apache與Nginx的優(yōu)缺點(diǎn)比較詳解
本篇文章是對(duì)Apache與Nginx的優(yōu)點(diǎn)與缺點(diǎn)進(jìn)行了詳細(xì)的分析比較,需要的朋友參考下2013-06-06
php+mysql數(shù)據(jù)庫(kù)查詢實(shí)例
這篇文章主要介紹了php+mysql數(shù)據(jù)庫(kù)查詢的方法,實(shí)例分析了數(shù)據(jù)庫(kù)查詢的原理與完整實(shí)現(xiàn)步驟,并進(jìn)行了針對(duì)性的分析說(shuō)明,需要的朋友可以參考下2015-01-01
windows環(huán)境下php配置memcache的具體操作步驟
本篇文章是對(duì)windows環(huán)境下php配置memcache的具體操作步驟進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06

