PHP 批量修改檔案名稱/檔案尾碼名(副檔名)

來源:互聯網
上載者:User

幾個關鍵的函數。

is_dir($dirname)      //判斷一個檔案名稱是否 為目錄
opendir($dirname)      //開啟一個檔案夾
readdir($dir_stream)   //函數返回由 opendir() 開啟的目錄控制代碼中的條目
pathinfo($path)        //函數以數組的形式返迴文件路徑的資訊。
例如當前檔案夾下的P1010436


例如當前檔案夾下的P1010436.jpg檔案路徑資訊數組:

Array
(
    [dirname] => .
    [basename] => P1010436.jpg
    [extension] => jpg
    [filename] => P1010436
)
rename(oldname,newname,context) //函數重新命名檔案或目錄。若成功,則該函數返回 true。若失敗,則返回 false。

 代碼如下 複製代碼

 

<?php
function fileRename($dir,$srcExtension,$desExtension){
 if(!is_dir($dir)){
  echo "{$dir}不是一個有效目錄!n";
  exit();  
  }
 $handler = opendir($dir);
 //列出$dir目錄中的所有檔案
 while(($fileName = readdir($handler))!=false){
  if($fileName!='.'&&$fileName!='..'){
   //'.' 和 '..'是分別指向目前的目錄和上級目錄
   $curDir = $dir.'/'.$fileName;
   if(is_dir($curDir)){
    //如果是目錄,則遞迴下去
    fileRename($curDir,$srcExtension,$desExtension);
    }
    else{
     //擷取檔案路徑的資訊
     $path = pathinfo($curDir);
     //print_r($path);
     if($path['extension']==$srcExtension){  
      $newname = $path['dirname'].'/'
      .$path['filename'].".".$desExtension;
      rename($curDir,$newname);   
      echo $curDir.'-->'.$newname."n";   
      }
     }
   }
  }
 }
fileRename(".","JPG","jpg");
?>


使用方法很簡單,我們把圖片與php檔案同一目錄然後再運行php即可。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.