php更改目錄及子目錄下所有的文件后綴的代碼
更新時(shí)間:2010年09月24日 12:34:30 作者:
今天遇到要改變當(dāng)前目錄下指定類型的文件類型,本來(lái)想要用批處理來(lái)做這個(gè),結(jié)果沒(méi)找到合適。就自己去查了下資料,用Php來(lái)處理一下。
不是很經(jīng)常處理文件,所以對(duì)遍歷目錄還不是很熟悉,找了一下資料,自己修改一下。
讓大家看看是否需要完善的
代碼主要的目的是 批量更改 文件后綴 由于淘寶數(shù)據(jù)包圖片類型的不同 所以要改一下適合的。
<?php
//本文件和要改變的目錄下的文件 放在同一文件夾下
define("STA",".gif");//原來(lái)的文件格式
define("END",".jpg");//要改變的格式
$dir="./";
$arr=allfile($dir);
foreach($arr as $t)
{
$t=str_replace(".//","",$t);
if(substr_count($t,STA)>0)
{
$f2=str_replace(STA,"",$t);
rename($t,$f2.END);
}
}
//獲取目錄下所有文件的函數(shù)
function allfile($dir)
{
$files=array();
if(is_file($dir))
{
return $dir;
}
$handle = opendir($dir);
if($handle) {
while(false !== ($file = readdir($handle))) {
if ($file != '.' && $file != '..') {
$filename = $dir . "/" . $file;
if(is_file($filename)) {
$files[] = $filename;
}else {
$files = array_merge($files, allfile($filename));
}
}
} // end while
closedir($handle);
}
return $files;
}
?>
讓大家看看是否需要完善的
代碼主要的目的是 批量更改 文件后綴 由于淘寶數(shù)據(jù)包圖片類型的不同 所以要改一下適合的。
復(fù)制代碼 代碼如下:
<?php
//本文件和要改變的目錄下的文件 放在同一文件夾下
define("STA",".gif");//原來(lái)的文件格式
define("END",".jpg");//要改變的格式
$dir="./";
$arr=allfile($dir);
foreach($arr as $t)
{
$t=str_replace(".//","",$t);
if(substr_count($t,STA)>0)
{
$f2=str_replace(STA,"",$t);
rename($t,$f2.END);
}
}
//獲取目錄下所有文件的函數(shù)
function allfile($dir)
{
$files=array();
if(is_file($dir))
{
return $dir;
}
$handle = opendir($dir);
if($handle) {
while(false !== ($file = readdir($handle))) {
if ($file != '.' && $file != '..') {
$filename = $dir . "/" . $file;
if(is_file($filename)) {
$files[] = $filename;
}else {
$files = array_merge($files, allfile($filename));
}
}
} // end while
closedir($handle);
}
return $files;
}
?>
您可能感興趣的文章:
相關(guān)文章
php使用APC實(shí)現(xiàn)實(shí)時(shí)上傳進(jìn)度條功能
這篇文章主要介紹了php使用APC實(shí)現(xiàn)實(shí)時(shí)上傳進(jìn)度條功能,php本身不具備可以帶有實(shí)時(shí)上傳進(jìn)度條功能,但是php提供了一個(gè)apc,它可以與php配置實(shí)現(xiàn)上傳進(jìn)度條,感興趣的小伙伴們可以參考一下2015-10-10
利用瀏覽器的Javascript控制臺(tái)調(diào)試PHP程序
現(xiàn)在,越來(lái)越多的瀏覽器都有了開發(fā)這工具或者Javascript控制臺(tái),通過(guò)這些工具,我們可以很方便的顯示PHP代碼中的變量或數(shù)組值2014-01-01
laravel 實(shí)現(xiàn)設(shè)置時(shí)區(qū)的簡(jiǎn)單方法
今天小編就為大家分享一篇laravel 實(shí)現(xiàn)設(shè)置時(shí)區(qū)的簡(jiǎn)單方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-10-10
PHP頁(yè)面跳轉(zhuǎn)操作實(shí)例分析(header方法)
這篇文章主要介紹了PHP頁(yè)面跳轉(zhuǎn)操作,結(jié)合實(shí)例形式對(duì)比分析了HTML跳轉(zhuǎn)與php使用header方法跳轉(zhuǎn)的相關(guān)操作技巧與注意事項(xiàng),并給出了一個(gè)跳轉(zhuǎn)的封裝函數(shù)供大家參考,需要的朋友可以參考下2016-09-09
php使用fputcsv實(shí)現(xiàn)大數(shù)據(jù)的導(dǎo)出操作詳解
這篇文章主要介紹了php使用fputcsv實(shí)現(xiàn)大數(shù)據(jù)的導(dǎo)出操作,結(jié)合實(shí)例形式詳細(xì)分析了PHP百萬(wàn)級(jí)數(shù)據(jù)的插入以及使用fputcsv進(jìn)行大數(shù)據(jù)的導(dǎo)出相關(guān)操作技巧,需要的朋友可以參考下2020-02-02
PHP header()函數(shù)常用方法總結(jié)
這篇文章主要介紹了PHP header()函數(shù)常用方法.總結(jié)了常見的用法,需要的朋友可以參考下2014-04-04
php+Mysqli利用事務(wù)處理轉(zhuǎn)賬問(wèn)題實(shí)例
這篇文章主要介紹了php+Mysqli利用事務(wù)處理轉(zhuǎn)賬問(wèn)題的方法,實(shí)例分析了php+mysqli處理事務(wù)的提交與回滾的技巧,需要的朋友可以參考下2015-02-02

