| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Базы Данных > Перемещение файлов на русском языке |
| Автор: Niko8D 10.6.2016, 23:58 |
| Добрый вечер! Все время пытался избежать этой темы, но вот настал момент когда надо решить эту задачу и вот маюсь какой уже день и ничего не получается. Вдаваться в подробности не буду. Задача состоит в том, что надо переместить (или скопировать) файлы из одного каталога в другие каталоги (так сказать расфасовать). И Вы конечно скажите, что это плёвое дело и я с вами соглашусь, но проблема в том что файлы на русском языке и функции такие как file_exists, move_uploaded_file, rename эти файлы не видят, но вот в принципе все. Если кто морочился и решил эту задачу, пожалуйста подскажите как. Сколько раз я ее пытался решить так не получилось расколоть этот орешек. З.Ы. В случаи с английским наименованием файлов все работает (файлов порядка 2500 шт.) |
| Автор: ksnk 11.6.2016, 02:28 |
| opendir/readdir или glob имена русских файлов в какой кодировке выдает? |
| Автор: _zorn_ 12.6.2016, 10:43 |
| В вопросиках скорей всего. Но вопрос правильный и надо собственно добиться чтобы СИСТЕМА эти имена нормально видела. это собственно решение проблемы. Но вообще нужно больше информации. 1. Откуда эти файлы взялись 2. Что за файловая система на разделе 3. Видно ли ГДЕ НИБУДЬ нормальные имена файлов ? 4. Что за система вообще (см. ЗЫ) Быть может что имена утеряны давно из за всяких конвертаций. ЗЫ. Не учел что пхп может быть на домашнем компе ( тобиш винде |
| Автор: Niko8D 12.6.2016, 20:26 | ||
Ответ: 1. Есть программа на access, в ней есть вложения, вот про них и идет речь (к самой программе у меня доступа, описать её не могу, просто есть папка с файлами). 2. NTFS (тут не все так просто, возможно потребуется, что-бы скрипт отработался на linux (ubuntu)). 3. При выполнении команды scandir и далее при print_r файлы нормально отображаются на экране. 4. Windows 7 (OpenServer), но как ранее я писал возможно придется выполнить скрипт по linux, для начало хоть бы под windows это все исполнить. |
| Автор: ksnk 12.6.2016, 22:25 |
| iconv в руки. Системная кодировка windows - cp1251, чтобы вывести имена файлов на страничку -результат glob нужно проиконвить, в utf-8, вероятно. Ну и обратно тоже. |
| Автор: _zorn_ 23.6.2016, 22:15 |
| 2. Что значит не все так просто ? Конкретный вопрос - где будут файлы в конечном итоге ? 4. "Тестировать" на виндовс (да еще на NTFS) то что "возможно" планируется перенести на линукс - это верх извращизма тестирования. ЗЫ. Бубен в руки ЗЫЫ. ОпенСервер еще... ну удачи разобраться со всем его великолепием. ЗЫЫЫ. Виндовс не предназначена для подобных задач (ПХП) |
| Автор: Niko8D 27.6.2016, 09:04 | ||
| Доброе утро! Не буду вдавятся в подробности как я решил свою проблему, но из-за уважения к форуму и к форумчанам я в кратко расскажу. В общем я не стал морочится и решил загрузку через форму, вот код:
|
| Автор: ksnk 27.6.2016, 09:18 |
| imho, тема с уже имеющимися файлами для access осталась не раскрыта. Ну да ладно. |