2017-03-02 53 views
3

我需要重命名所有的歌曲用下面的PHP代碼整數(數字),但它顯示了一個錯誤:PHP7重命名的目錄迭代器中的所有文件(Windows 10)的64位XAMPP

Warning: rename(abc.mp3,2.4): The system cannot find the file specified. (code: 2) in D:\xampp\htdocs\hta\file_renames.php on line 14 

命令PATHINFO_EXTENSION在這裏也不行? 我使用與XAMPP(PHP7)窗口10

<?php $total = 0; 
$dir = "songs/"; 
foreach (new DirectoryIterator($dir) as $fileInfo) { 
if(!$fileInfo->isDot()){ 
    $total +=1; 
    $file = $fileInfo->getFilename(); 
    rename($file,$total.'.'.PATHINFO_EXTENSION); 
} 
} 
echo('Total files: '.$total); 
?> 

如何我所有的.mp3文件重命名爲number.mp3文件?循環內?

回答

2

您需要提供到rename的完整路徑(可以是相對的)。關於PATHINFO_EXTENSION,你只是在濫用它。這裏是固定的代碼:

<?php 
$total = 0; 
$dir = "songs/"; 
foreach (new DirectoryIterator($dir) as $fileInfo) { 
    if(!$fileInfo->isDot()){ 
     $total +=1; 
     $file = $dir.$fileInfo->getFilename(); 
     $ext = pathinfo($file, PATHINFO_EXTENSION); 
     $newFile = $dir.$total.'.'.$ext; 
     rename($file, $newFile); 
    } 
} 
echo('Total files: '.$total); 
?> 
+0

感謝它現在工作得很好。謝謝 –

相關問題