我正在致力于将一个目录中的照片重命名为其他基于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