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