Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Переименование файла
Форумы портала PHP.SU » » Хранение данных, их вывод и обработка » Переименование файла

Страниц (1): [1]
 

1. Kronter - 16 Мая, 2015 - 21:50:03 - перейти к сообщению
У меня на сайте около 100 000 загруженных пользователями фотографий. Они прописаны в базе. За все время работы сайта примерно половина фоток устарела, а их адреса удалены из базы данных. Получилось так потому что когда я делал сайт, не подумал, что нужно при удалении записи из базы удалять и сами фотки.
Сейчас я хочу удалить эти устаревшие фотки. Решил скопировать (copy (old/file,new/file)) фотки, которые есть в базе данных, в новую папку, а старую папку удалить.

Проблема:
Когда создавал сайт, сделал так, что фотки загружались с названием от пользователя, то есть там и пробелы, и скобки, и русские буквы. Проблема в том, что copy не копирует файлы с русскими символами.

Думаю, что может перед копированием назвать все фотки по новому одновременно в базе и в папке. Но никак не получается это сделать.
Подскажите или как это сделать, или может какое-то более правильное решение проблемы.
2. IGORtrue - 16 Мая, 2015 - 23:55:45 - перейти к сообщению
Может лучше взять массив имён фоток, брать название файла, искать его в бд, если нет, удалять, и т.д.
3. IdCox - 17 Мая, 2015 - 12:58:31 - перейти к сообщению
Вывести все файлы с папки, проверять не существует ли их в базе, если нет то записать имена файлов в массив и делет )
4. DeepVarvar - 19 Мая, 2015 - 00:00:39 - перейти к сообщению
Отсортировать по filemtime, и все что раньше первой живой записи в БД -- удалить.

 

Powered by ExBB FM 1.0 RC1