PHP 取得指定目錄檔案批次亂數重新命名
有時候需要將電腦上的檔案亂數排序,卻又不知道怎麼做
那你可以參考將所有檔案亂數命名,他的排序就會亂掉了!
就像如果你想製作一個照片的幻燈片、卻又不想讓照片依照規則去排序
那就可以用這個方式
<?php // 取得亂數名稱 function randName() { $rand = ''; for($i=0; $i<8; $i++){ switch(rand(0,2)){ case 0:// Number 0-9 $rand .= chr(rand(48, 57)); break; case 1:// English A-Z $rand .= chr(rand(65, 90)); break; default:// English a-z $rand .= chr(rand(97, 122)); break; } } return $rand; } // 檔案路徑(所有要更改的檔名都在此檔案同一層的files資料夾下) $paths = 'files/'; $dir = dir($paths); // 逐步將檔案一個一個抓出來做 while (false !== ($entry = $dir->read())) { // 直接過濾不必要的檔案(此目錄、上層目錄、Mac自動產生的檔案屬性文件) if( in_array($entry, array('.', '..', '.DS_Store')) ) continue; // 取得亂數檔名 $newName = randName(); // 取得目前檔案副檔名 $fileExtension = pathinfo($entry, PATHINFO_EXTENSION); // 重新命名文件檔案名稱 if( @rename("{$paths}{$entry}", "{$paths}{$newName}.{$fileExtension}") ) { echo "{$entry} >>> {$newName}.{$fileExtension} Success. <br>"; } else { // 重新命名檔案名稱失敗 echo "{$entry} change name fail. <br>"; } } // 關閉目錄讀取(釋放) $d->close(); echo 'Done!'; ?>
Hi Barry,
請問是否有MAIL 可以連絡您呢 謝謝
請問您是哪位呢?