我正在致力於將一個目錄中的照片重命名爲其他基於CSV文件的數據。該CSV有三列:號碼,名字和姓氏。照片的原始名稱是「名字姓氏.jpg」。新名稱應該是「號碼.jpg」。我通過循環遍歷CSV的行,通過將FirstName和LastName放在一起創建舊名稱,通過獲取數字並重命名文件來創建新名稱。然而,我有兩個問題:從CSV重命名PHP文件
第一個是更多的錯誤,但它可能是重要的。當我回顯$ oldname時,擴展名之前的名稱和點之間有一個換行符,儘管我已將它指定爲一個沒有中斷的字符串。
其次是它從來沒有工作。它總是返回「不重命名」。我已經更改了文件的權限幷包含文件夾,但仍然無效。如果你能提供幫助,請提前致謝。
<?php
$dir = "*Dir to phptos*";
$csv = fopen("filename.csv", "r") or die("no csv file");
//$ext = ".txt";
while(!feof($csv)) {
$line = fgets($csv);
$names = explode(",", $line);
//echo $names[2];
$oldname = $dir.$names[1]." ".$names[2].".txt";
$newname = $dir.$names[0].".txt";
if (is_file($oldname)) {
rename($oldname, $newname);
echo "renamed '".$oldname."' to '".$newname."'<br/>";
} else {
echo "DID NOT rename '".$oldname."'<br/>\n";
//echo "$oldname";
}
}
fclose($csv);
?>
我的歉意,改變了腳本以處理.txt文件,並忘記將其改回。 – cortices 2011-02-25 06:53:13