Я работаю над некоторым PHP, чтобы переименовать фотографии в каталоге во что-то еще, основываясь на данных из файла CSV.CSV имеет три столбца: номер, имя и фамилия.Оригинальные имена фотографий: « FirstName LastName .jpg».Новые имена должны быть " Number .jpg".Я делаю это, перебирая строки CSV, создавая старое имя, соединяя FirstName и LastName, создавая новое имя, получая номер и переименовывая файлы.Однако у меня есть две проблемы:
Первая - это скорее ошибка, но она может быть существенной.Когда я повторяю $ 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);
?>