佳木斯湛栽影视文化发展公司

主頁 > 知識(shí)庫 > PHP實(shí)現(xiàn)讀取文件夾及批量重命名文件操作示例

PHP實(shí)現(xiàn)讀取文件夾及批量重命名文件操作示例

熱門標(biāo)簽:銀行業(yè)務(wù) 電子圍欄 阿里云 Mysql連接數(shù)設(shè)置 服務(wù)器配置 科大訊飛語音識(shí)別系統(tǒng) 團(tuán)購網(wǎng)站 Linux服務(wù)器

本文實(shí)例講述了PHP實(shí)現(xiàn)讀取文件夾及批量重命名文件操作。分享給大家供大家參考,具體如下:

以讀取從網(wǎng)上下載的評(píng)書解壓后的文件夾為例,并批量重命名

文件夾內(nèi)容如下,現(xiàn)在使用php讀取這個(gè)文件夾里面的文件,并批量重命名為"隋唐演義+序號(hào).mp3"的格式:

?php 	
	$dir1 = './dir1/';//讀取文件夾名稱 (重命名為dir1避免中文報(bào)錯(cuò),移動(dòng)到與要執(zhí)行的php文件同級(jí)目錄)
	$filearr = scandir($dir1);//讀取文件夾
	print_r($filearr);
讀取文件夾內(nèi)容如下:

進(jìn)一步操作,對(duì)獲得的文件數(shù)組做一些處理:

?php 	
	$dir1 = './dir1/';//讀取文件夾名稱(避免使用中文)
	$filearr = scandir($dir1);//讀取文件夾
	unset($filearr[0]);//去除多余的元素
	unset($filearr[1]);
	$filearr = array_values($filearr);//使數(shù)組從0開始,以1遞增
	print_r($filearr);
此時(shí)文件數(shù)組的格式就正常了:

現(xiàn)在對(duì)文件數(shù)組循環(huán),重命名文件,并移動(dòng)到文件夾dir2(移動(dòng)文件是rename()函數(shù)造成的):

?php 	
	$dir1 = './dir1/';//讀取文件夾名稱(避免使用中文)
 	$dir2 = './dir2/';//移動(dòng)到文件夾名稱(避免使用中文)
	$filearr = scandir($dir1);//讀取文件夾
	unset($filearr[0]);//去除多余的元素
	unset($filearr[1]);
	$filearr = array_values($filearr);//使數(shù)組從0開始,以1遞增
	$filecount = count($filearr);//文件數(shù)量
	$onenum = 1;//起始編號(hào)
	$maxnum = $onenum + $filecount;//最大循環(huán)次數(shù)
	$title = 'styy';//文件標(biāo)題
	$houzhui = '.mp3';//文件后綴
	for ($i = $onenum; $i = $maxnum; $i++) {
	  for ($j=0; $j  $filecount ; $j++) {
		if($i10){
		  $i = '0'.$i;
		} 
		rename($dir1.$filearr[$j],$dir2.$title.$i.$houzhui);
		$i++;
	  }
	}

操作結(jié)果如下,批量重命名成功,dir2文件夾內(nèi)容:

如果使用中文名對(duì)文件重命名,會(huì)出現(xiàn)亂碼的現(xiàn)象,原因是字符集編碼設(shè)置的問題,解決方法如下:(但遇到某些中文字符仍舊是亂碼)

?php 	
	$dir1 = './dir1/';//讀取文件夾名稱
 	$dir2 = './dir2/';//移動(dòng)到文件夾名稱
	$filearr = scandir($dir1);//讀取文件夾
	unset($filearr[0]);//去除多余的元素
	unset($filearr[1]);
	$filearr = array_values($filearr);//使數(shù)組從0開始,以1遞增
	$filecount = count($filearr);//文件數(shù)量
	$onenum = 1;//起始編號(hào)
	$maxnum = $onenum + $filecount;//最大循環(huán)次數(shù)
	$title = '隋唐演義';//文件標(biāo)題
	$houzhui = '.mp3';//文件后綴
	for ($i = $onenum; $i = $maxnum; $i++) {
	  for ($j=0; $j  $filecount ; $j++) {
		if($i10){
		  $i = '0'.$i;
		} 
		$filename = $title.$i.$houzhui;
		rename($dir1.$filearr[$j],$dir2.iconv("utf-8","gb2312",$filename));//設(shè)置字符集
		$i++;
	  }
	}

運(yùn)行后dir2文件夾內(nèi)容如下:

到此完成php對(duì)文件夾中文件的讀取、批量重命名操作。另外可以構(gòu)思一個(gè)簡(jiǎn)單的頁面自定義操作(如下圖,代碼省略)


更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP目錄操作技巧匯總》、《php文件操作總結(jié)》、《PHP常用遍歷算法與技巧總結(jié)》、《PHP數(shù)據(jù)結(jié)構(gòu)與算法教程》、《php程序設(shè)計(jì)算法總結(jié)》、《PHP數(shù)組(Array)操作技巧大全》、《php字符串(string)用法總結(jié)》及《php常見數(shù)據(jù)庫操作技巧匯總》

希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。

您可能感興趣的文章:
  • php遍歷目錄與文件夾的多種方法詳解
  • PHP遍歷某個(gè)目錄下的所有文件和子文件夾的實(shí)現(xiàn)代碼
  • 使用PHP遍歷文件夾與子目錄的函數(shù)代碼
  • php 遍歷顯示文件夾下所有目錄、所有文件的函數(shù),沒有分頁的代碼
  • php實(shí)現(xiàn)的遍歷文件夾下所有文件,編輯刪除
  • php實(shí)現(xiàn)遍歷文件夾的方法匯總
  • PHP自動(dòng)重命名文件實(shí)現(xiàn)方法
  • PHP實(shí)現(xiàn)批量重命名某個(gè)文件夾下所有文件的方法
  • 6種php上傳圖片重命名的方法實(shí)例
  • 基于php上傳圖片重命名的6種解決方法的詳細(xì)介紹

標(biāo)簽:大理 萍鄉(xiāng) 衢州 蚌埠 衡水 棗莊 廣元 江蘇

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《PHP實(shí)現(xiàn)讀取文件夾及批量重命名文件操作示例》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    湄潭县| 临沭县| 吴桥县| 胶州市| 桂阳县| 余干县| 依安县| 开江县| 利辛县| 曲靖市| 大城县| 焦作市| 金秀| 衡山县| 天祝| 繁峙县| 长兴县| 余江县| 建德市| 铁岭市| 南和县| 山丹县| 本溪| 古丈县| 伊川县| 泰兴市| 漠河县| 太谷县| 石家庄市| 施秉县| 福安市| 且末县| 淮阳县| 应城市| 喀喇| 土默特右旗| 元朗区| 台前县| 神农架林区| 赤城县| 高州市|