|
|
|
Как проверить является ли данная строка именем файла?
|
|||
|---|---|---|---|
|
#18+
Если ли стандартные механизмы валидации строки на соответсвие правилам нижележащей ОС? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2005, 12:14 |
|
||
|
Как проверить является ли данная строка именем файла?
|
|||
|---|---|---|---|
|
#18+
regexp наверное... а вот правила, скорее всего, самому определять.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2005, 12:19 |
|
||
|
Как проверить является ли данная строка именем файла?
|
|||
|---|---|---|---|
|
#18+
Передо мной стоит задача создать сохранить данные в файл при этом в имени файла может присутсвовать различный мусор -типа "\n". Мне бы хотелось максимально безболезненно от него избавиться. Насчет regexp - наверное так и придется. Правда мне нужно не просто казать да или нет - нужно еще и получить из неправильного имени правильное! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2005, 12:23 |
|
||
|
Как проверить является ли данная строка именем файла?
|
|||
|---|---|---|---|
|
#18+
неправильные символы известны более-менее. как первое приближение: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2005, 12:30 |
|
||
|
Как проверить является ли данная строка именем файла?
|
|||
|---|---|---|---|
|
#18+
Ну да можно и придеться именно так - фактически получается что для каждой конкретной file system мне нужны свои правила... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2005, 13:02 |
|
||
|
Как проверить является ли данная строка именем файла?
|
|||
|---|---|---|---|
|
#18+
Только не file system, а operation system :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2005, 14:59 |
|
||
|
Как проверить является ли данная строка именем файла?
|
|||
|---|---|---|---|
|
#18+
Навскидку попробую вспомнить ограничения на файловые имена ОS Windows. 1) Можно использовать латиницу без ограничений. Национальные - только при настроенной локали. В противном случае не гарантируется корректное отображение их в файловых менеджерах и сортировка. 2) Символы " ? ", " * " должны удалятся. 3) Не рекомендуется использовать конструкцию вида "%" {литерал} "%" - она может автоматически заменятся на переменную окружения. 4) Символ ":" в имени файла зарезервирован для NTFS-Streams 5) Символы перенаправления стандартного ввода вывода "<" b ">" "|" использовать нельзя (хотя MSIE успешно сохранял веб-страницы с такими именами). 6) Символы слеша можно использовать как правые так и левые (но не рекомендуется их смешивать). Нельзя их также задваивать. Прочие ошибки связаные со слешами - скорее прикладные чем системные. Пути, которые начинаются с "\\" являются сетевыми. Не всё ПО поддерживает такую нотацию. 7) Значок $ (непомню то-ли в начале то-ли в конце) зарезервирован для NTFS системных областей. 8) Точка и двойная точка - должны фильтроватся в зависимости от условий приложения. Напомню - некоторое количество атак на безопасность веб-серверов основано на использовании символа ".." в пути. 9) Теоретически можно использовать локальные идентификаторы дисков типа \\?\Volume{бла-бла........} 10) Использовать заререзвированные названия устройств (NULL,COM,LPT) не рекомендуется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2005, 15:40 |
|
||
|
Как проверить является ли данная строка именем файла?
|
|||
|---|---|---|---|
|
#18+
mayton большое спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2005, 14:37 |
|
||
|
Как проверить является ли данная строка именем файла?
|
|||
|---|---|---|---|
|
#18+
интресно бы было где нибудь глянуть на regEx pattern для fat'а, ntfs, etc... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2005, 14:44 |
|
||
|
Как проверить является ли данная строка именем файла?
|
|||
|---|---|---|---|
|
#18+
maddcast неа - именно FS ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2005, 15:07 |
|
||
|
Как проверить является ли данная строка именем файла?
|
|||
|---|---|---|---|
|
#18+
пока у меня получилось вот это Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2005, 15:08 |
|
||
|
|

start [/forum/topic.php?fid=59&gotonew=1&tid=2152598]: |
0ms |
get settings: |
7ms |
get forum list: |
22ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
58ms |
get topic data: |
12ms |
get first new msg: |
6ms |
get forum data: |
3ms |
get page messages: |
67ms |
get tp. blocked users: |
2ms |
| others: | 231ms |
| total: | 416ms |

| 0 / 0 |
