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 可以連絡您呢 謝謝
請問您是哪位呢?