Форум dkLab и Denwer
Здесь общаются Web-разработчики.
Генеральный спонсор:
Хостинг «Джино»

Максимальное количество символов (длина) в названии файла в OS Windows. (Дмитрий Эсс)
Author Message
Ant
Сотрудник «Лаборатории»



Joined: 17 Jun 2003
Posts: 6842
Карма: 132
   поощрить/наказать


PostPosted: Sat Nov 22, 2003 2:49 pm ()
   Post subject:
Reply with quote


М

Выделено из темы «Функция fopen()»,
расположенной в форуме Разное :: PHP (27 Марта 2005, 17:19).
Back to top
View user's profile Send private message Send e-mail ICQ Number
Дмитрий Эсс
Участник форума



Joined: 06 Jul 2003
Posts: 2533
Карма: 8
   поощрить/наказать

Location: Таллинн, Эстония

PostPosted: Sat Nov 22, 2003 2:49 pm (спустя 1 секунду)
   Post subject:
Reply with quote

fastkill:
yUAC верно говорит, в Windows, к примеру, максимальная длина названия файла, если не ошибаюсь, 255 символов. Проверить не сложно.
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Ant
Сотрудник «Лаборатории»



Joined: 17 Jun 2003
Posts: 6842
Карма: 132
   поощрить/наказать


PostPosted: Thu Feb 12, 2004 12:03 pm (спустя 2 месяца 19 дней 21 час 13 минут)
   Post subject:
Reply with quote

Дмитрий Эсс wrote:
yUAC верно говорит, в Windows, к примеру, максимальная длина названия файла, если не ошибаюсь, 255 символов. Проверить не сложно.
Сколько-сколько? Что-то не верится...
Back to top
View user's profile Send private message Send e-mail ICQ Number
bæv
Модератор «Дзена»



Joined: 27 Aug 2003
Posts: 7283
Карма: ∞
   поощрить/наказать


PostPosted: Thu Feb 12, 2004 2:40 pm (спустя 2 часа 36 минут)
   Post subject:
Reply with quote

Дмитрий Эсс wrote:
максимальная длина названия файла, если не ошибаюсь, 255 символов
По-моему, -- не название файла, а весь путь, включая название. (Тоже не уверен, а проверять влом...)
Back to top
View user's profile Send private message Visit poster's website
Дмитрий Кóтеров
Администратор



Joined: 10 Mar 2003
Posts: 13664
Карма: 409
   поощрить/наказать


PostPosted: Thu Feb 12, 2004 2:43 pm (спустя 3 минуты)
   Post subject:
Reply with quote

Нет, весь путь - 1024 (или больше).
Back to top
View user's profile Send private message Send e-mail Visit poster's website
bæv
Модератор «Дзена»



Joined: 27 Aug 2003
Posts: 7283
Карма: ∞
   поощрить/наказать


PostPosted: Thu Feb 12, 2004 2:57 pm (спустя 13 минут)
   Post subject:
Reply with quote

baev wrote:
весь путь, включая название
уточню -- это для win98/Me
Back to top
View user's profile Send private message Visit poster's website
Дмитрий Эсс
Участник форума



Joined: 06 Jul 2003
Posts: 2533
Карма: 8
   поощрить/наказать

Location: Таллинн, Эстония

PostPosted: Thu Feb 12, 2004 4:31 pm (спустя 1 час 34 минуты)
   Post subject:
Reply with quote

Ant:
baev:
Отрицая, предлагайте. Что Вы гадаете? Не верите, так проверьте.
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Юрий Насретдинов
Модератор



Joined: 13 Mar 2003
Posts: 8643
Карма: 211
   поощрить/наказать

Location: 007 495

PostPosted: Thu Feb 12, 2004 5:53 pm (спустя 1 час 22 минуты)
   Post subject:
Reply with quote

Ant wrote:
Что-то не верится...
256 байт на название файла, это стандарт современных файловых систем.
Back to top
View user's profile Send private message Send e-mail Visit poster's website ICQ Number
Ant
Сотрудник «Лаборатории»



Joined: 17 Jun 2003
Posts: 6842
Карма: 132
   поощрить/наказать


PostPosted: Thu Feb 12, 2004 8:53 pm (спустя 3 часа 2 секунды)
   Post subject:
Reply with quote

yUAC wrote:
256 байт на название файла, это стандарт современных файловых систем.
Стоп-стоп. Символ == байту? Я пробовал ввести длинное имя (намного меньше 255 символов) в Total Commander'e — ругается.
Back to top
View user's profile Send private message Send e-mail ICQ Number
Дмитрий Кóтеров
Администратор



Joined: 10 Mar 2003
Posts: 13664
Карма: 409
   поощрить/наказать


PostPosted: Thu Feb 12, 2004 10:32 pm (спустя 1 час 38 минут)
   Post subject:
Reply with quote

А если попробовать в командной строке? Может, это Total Commander кривой просто?
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Дмитрий Эсс
Участник форума



Joined: 06 Jul 2003
Posts: 2533
Карма: 8
   поощрить/наказать

Location: Таллинн, Эстония

PostPosted: Thu Feb 12, 2004 11:42 pm (спустя 1 час 10 минут)
   Post subject:
Reply with quote

Странно, может я что-то не так делаю, но у меня из пхп-скрипта получилось создать файл с именем в 243 символа, а вручную только 238 символов. Попробуйте, кто-нибуть.
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Ant
Сотрудник «Лаборатории»



Joined: 17 Jun 2003
Posts: 6842
Карма: 132
   поощрить/наказать


PostPosted: Fri Feb 13, 2004 12:34 am (спустя 51 минуту)
   Post subject:
Reply with quote

Дмитрий Кóтеров wrote:
А если попробовать в командной строке?
Действительно, что-то не так. Очевидно TC «глючит». Может это так и задумано?

Дмитрий Эсс:
Был не прав.
Back to top
View user's profile Send private message Send e-mail ICQ Number
bæv
Модератор «Дзена»



Joined: 27 Aug 2003
Posts: 7283
Карма: ∞
   поощрить/наказать


PostPosted: Fri Feb 13, 2004 9:07 am (спустя 8 часов 33 минуты)
   Post subject:
Reply with quote

Дмитрий Эсс wrote:
но у меня из пхп-скрипта получилось создать файл с именем в 243 символа
Пробовал создать папку в корне диска -- winXP не даёт вводить в поле имени больше 243 символов. В созданную папку (243 символа) файлы не копируются -- система ругается на "слишком длинное имя".

Так что: выше я "был наиболее близок к истине" -- учитывается длина всего пути.
Back to top
View user's profile Send private message Visit poster's website
bæv
Модератор «Дзена»



Joined: 27 Aug 2003
Posts: 7283
Карма: ∞
   поощрить/наказать


PostPosted: Fri Feb 13, 2004 2:42 pm (спустя 5 часов 34 минуты)
   Post subject:
Reply with quote

baev wrote:
winXP не даёт вводить в поле имени больше 243 символов
Меня тут осенило: "недостающие" до 255 символы в количестве 12 штук -- это запись имени файла/папки в FAT (file allocation table). Имя в FAT пишется в "DOS-формате" -- 8.3 (8 символов на имя файла, 1 символ -- точка, 3 символа -- на расширение).
Так что: на каждое имя папки в пути -- минус 12 символов (если имя не "умещается" в DOS-формат). (Как оно в NTFS -- не знаю)
Back to top
View user's profile Send private message Visit poster's website
Ant
Сотрудник «Лаборатории»



Joined: 17 Jun 2003
Posts: 6842
Карма: 132
   поощрить/наказать


PostPosted: Fri Feb 13, 2004 3:26 pm (спустя 44 минуты)
   Post subject:
Reply with quote

Странно, сейчас с помощью Perl'а пробовал создавать файлы на NTFS- и FAT-дисках.

Всё окей! Всё создалось. Хотел было запостить сюда код Perl скрипта, чтобы Вы всё сами проверили, но... эксперименты я делал в корне дисков. Как только попытался сделать что-то в «глубине» — ничего не заработало.
Back to top
View user's profile Send private message Send e-mail ICQ Number
Юрий Насретдинов
Модератор



Joined: 13 Mar 2003
Posts: 8643
Карма: 211
   поощрить/наказать

Location: 007 495

PostPosted: Fri Feb 13, 2004 4:42 pm (спустя 1 час 16 минут)
   Post subject:
Reply with quote

Очевидно, в индексе для пути файла выделяется как раз 255 байт, поэтому весь путь не может быть больше 255 символов (по всей видимости), вот и все...
Back to top
View user's profile Send private message Send e-mail Visit poster's website ICQ Number
Ant
Сотрудник «Лаборатории»



Joined: 17 Jun 2003
Posts: 6842
Карма: 132
   поощрить/наказать


PostPosted: Fri Feb 13, 2004 4:57 pm (спустя 15 минут)
   Post subject:
Reply with quote

yUAC wrote:
Очевидно, в индексе для пути файла выделяется как раз 255 байт, поэтому весь путь не может быть больше 255 символов (по всей видимости), вот и все...
Что-то мне это не очень представляется возможным. По твоей теории выходит, что максимальное количество символов в названии файла обратно пропорционально сумме символов всех папок до файла (при этом снимая вопрос о бесконечной вложенности папок)?
Back to top
View user's profile Send private message Send e-mail ICQ Number
Юрий Насретдинов
Модератор



Joined: 13 Mar 2003
Posts: 8643
Карма: 211
   поощрить/наказать

Location: 007 495

PostPosted: Fri Feb 13, 2004 5:03 pm (спустя 5 минут)
   Post subject:
Reply with quote

Ant wrote:
при этом снимая вопрос о бесконечной вложенности папок
255 символов это очень много, между прочим.

255 символов это такая вот строка: "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaa", обычно мы не используем и половины этого адреса.
Ant wrote:
обратно пропорционально сумме символов всех папок до файла
Не совсем обратно пропорционально (ты наверное просто не до конца понимаешь смысл того что ты сказал), но мыслишь правильно :)
Back to top
View user's profile Send private message Send e-mail Visit poster's website ICQ Number
Ant
Сотрудник «Лаборатории»



Joined: 17 Jun 2003
Posts: 6842
Карма: 132
   поощрить/наказать


PostPosted: Fri Feb 13, 2004 5:38 pm (спустя 35 минут)
   Post subject:
Reply with quote

yUAC wrote:
255 символов это очень много, между прочим.
225 символов — это очень мало! И отредактируй, пожалуйста, свой пост — читать стало не удобно.
Back to top
View user's profile Send private message Send e-mail ICQ Number
Юрий Насретдинов
Модератор



Joined: 13 Mar 2003
Posts: 8643
Карма: 211
   поощрить/наказать

Location: 007 495

PostPosted: Fri Feb 13, 2004 10:11 pm (спустя 4 часа 32 минуты)
   Post subject:
Reply with quote

Ant:
Ни разу еще не видел такой вложенгности директорий. Даже на самых кривых хостингах и то до такого не доходит :).
Back to top
View user's profile Send private message Send e-mail Visit poster's website ICQ Number
Дмитрий Эсс
Участник форума



Joined: 06 Jul 2003
Posts: 2533
Карма: 8
   поощрить/наказать

Location: Таллинн, Эстония

PostPosted: Fri Feb 13, 2004 10:35 pm (спустя 23 минуты)
   Post subject:
Reply with quote

Ant:
Похоже так и есть. Учитывается весь путь, и нмкакой тебе неограниченной вложенности.
Code (php): скопировать код в буфер обмена
<?php
//Этот скрипт создаёт папки с именем "n", вложенные друг в друга, пока не будет ошибки.
$name = "n";
while (@mkdir($name)) $name .= "/n";
echo strlen($name);
?>
Этот скрипт вывел 231, потери - это путь к папке со скриптом.
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Ant
Сотрудник «Лаборатории»



Joined: 17 Jun 2003
Posts: 6842
Карма: 132
   поощрить/наказать


PostPosted: Sat Feb 14, 2004 12:33 am (спустя 1 час 58 минут)
   Post subject:
Reply with quote

Дамс, вот это да. Никогда бы не подумал. Остаётся только ждать, что Лонгхорновская СУБД будет поддерживать больше, чем есть сейчас.

P.S. Только подумайте, с чего всё начиналось: имя каждого файла может быть до 255... и чем закончилось?
Back to top
View user's profile Send private message Send e-mail ICQ Number
Дмитрий Кóтеров
Администратор



Joined: 10 Mar 2003
Posts: 13664
Карма: 409
   поощрить/наказать


PostPosted: Sat Feb 14, 2004 12:50 am (спустя 16 минут)
   Post subject:
Reply with quote

Все это очень, очень странно. MAXPATH с windows.h (ну или где-то там) определен как 1024, точно помню. Там еще делается различие между длиной пути и длиной имени файла. Но против эксперимента, конечно, не попрешь.
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Юрий Насретдинов
Модератор



Joined: 13 Mar 2003
Posts: 8643
Карма: 211
   поощрить/наказать

Location: 007 495

PostPosted: Sun Mar 27, 2005 8:13 pm (спустя 1 год 1 месяц 13 дней 19 часов 22 минуты; написано за 18 секунд)
   Post subject:
Reply with quote

Кстати, как там обстоят дела с другими файловыми системами типа ufs или raiserfs?
Back to top
View user's profile Send private message Send e-mail Visit poster's website ICQ Number
Dee Mon
Участник форума



Joined: 22 Mar 2003
Posts: 684
Карма: 94
   поощрить/наказать

Location: Koh Samui, Thailand

PostPosted: Mon Mar 28, 2005 7:35 am (спустя 11 часов 22 минуты; написано за 1 минуту 19 секунд)
   Post subject:
Reply with quote

Насколько я помню с первого курса, в юниксе (ufs, ext2,..) имя файла до 4 килобайт.
Недавно видел высказывание одного препода:
"You can write a small letter to Grandma in the filename." :)
Back to top
View user's profile Send private message Visit poster's website
Юрий Насретдинов
Модератор



Joined: 13 Mar 2003
Posts: 8643
Карма: 211
   поощрить/наказать

Location: 007 495

PostPosted: Mon Mar 28, 2005 6:57 pm (спустя 11 часов 21 минуту; написано за 5 секунд)
   Post subject:
Reply with quote

Dee Mon
А что, должно быть удобно ;)
Back to top
View user's profile Send private message Send e-mail Visit poster's website ICQ Number
Ippolit
Guest





Карма: 384
   поощрить/наказать


PostPosted: Wed Mar 03, 2010 12:17 pm (спустя 4 года 11 месяцев 5 дней 17 часов 20 минут; написано за 1 минуту 11 секунд)
   Post subject: Проблема
Reply with quote

При разрешенных 255 символах у меня отображается только 42. Как быть? Спасибо.
Back to top
bæv
Модератор «Дзена»



Joined: 27 Aug 2003
Posts: 7283
Карма: ∞
   поощрить/наказать


PostPosted: Wed Mar 03, 2010 5:46 pm (спустя 5 часов 29 минут; написано за 43 секунды)
   Post subject:
Reply with quote

Ippolit wrote:
Как быть?
— описать проблему более развернуто.
http://forum.dklab.ru/about/todo/PravilaEtogoForuma-ProchitayteObyazatelno.html — особенно про то, как задавать вопросы.
Back to top
View user's profile Send private message Visit poster's website
Display posts from previous:   
Post new topic   Reply to topic All times are GMT + 3 Hours
Page 1 of 1   
You cannot post new topics in this forum. You cannot reply to topics in this forum. You cannot edit your posts in this forum. You cannot delete your posts in this forum. You cannot vote in polls in this forum. You cannot attach files in this forum. You can download files in this forum.
  XML