Intereting Posts
конвертировать unicode в html сущности hex Ошибки проверки формы отображения рядом с каждым полем Перепишите все запросы, чтобы не требовалось расширение .php с помощью mod_rewrite RewriteRule Как я могу найти, где я буду перенаправлен с помощью cURL? Отправка формы запроса POST на PHP Установка yii2 – команда migrate не работает Правильно определите, является ли строка даты допустимой датой в этом формате Как добавить массив к каждому элементу другого массива с моим выбором ключа и значения (в php)? MySQL Вставить строку, дублировать: добавить суффикс и повторно вставить Как получить массив определенного «ключа» в многомерном массиве без цикла Google maps marker загружает последнюю запись Как получить контент с удаленной HTML-страницы Как объединить таблицы с SQL? Symfony2 – Doctrine2: Cross-Database Join Column throws Mapping-Exception Установите корень документа в приложении Zend Framework 1.12.x в службе Azure Cloud Service

PHP переименовывает файлы из CSV

Я работаю над некоторым 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); ?>