Если вы загружаете на сайт файлы (документы, изображения, архивы и пр.), и подразумевается, что доступ к этим файлам будет публичный, а не ограниченный списком избранных товарищей, нужно иметь в виду, что различные многочисленные пользователи сети интернет используют разные устройства ( настольные компьютеры, ноутбуки, планшеты, смартфоны, ...) и разные операционные системы (Mac, PC, Linux, ...).

Символы, запрещенные в имени файла

И чтобы у всех ваши файлы адекватно открывались, отображались и скачивались, нужно перестраховаться и избегать использования в названиях файлов и каталогах сайта запрещенных символов.




Использование правильных названий для папок и файлов очень важно для web, особенно - для загружаемых файлов, таких как PDF-файлы, документы MS Word, электронные таблицы MS Excel и др.

Создавая и формируя любой документ, мы не имеем ограничений по используемым символам внутри него и можем писать в нем любые, даже запрещенные символы. Но для сохранения файла нужно присваивать ему имя с учетом некоторых правил и ограничений интернета.

 

Не используйте следующие запрещенные символы в названиях директорий и файлов:

# - pound (решетка) < - left angle bracket (знак "меньше") $ - dollar sign (доллар) + - plus sign (плюс)
% - percent (процент) > - right angle bracket (знак "больше") ! - exclamation point (восклицательный знак) ` - backtick (обратная кавычка)
& - ampersand (амперсенд) * - asterisk (звездочка) - single quotes (одинарные кавычки) | - pipe (вертикальная черта)
{ - left bracket (левая фигурная скобка) ? - question mark (вопросительный знак) - double quotes (двойные кавычки) = - equal sign (равно)
} - right bracket (правая фигурная скобка) / - forward slash (прямой слеш) : - colon (двоеточие)  
\ - back slash (обратный слеш) - blank spaces (пробел) @ - at sign (собачка)  

 




 

Не каждый сайт или сервер имеет механизм проверки файлов и, зачастую, даже если имя файла содержит запрещенные символы, вы все равно сможете загрузить его на сервер. Но вот скачать его, скорее всего, никто не сможет, особенно, через web-интерфейс.

Рассмотрим ситуацию, в которой пользователь загрузил на сайт PDF-файл, содержащий в названии символ "Решетка" (pound) - #. Сервер имеет операционную систему Linux. Поведение сервера при наличии таких символов в именах файлов будет неадекватным.

В этом случае апач считает что URL - это все, что находится перед знаком "Решетка", а все что после него - это якорь на HTML-странице, т.е. ссылка на конкретное место в HTML-документе. Соответственно, он не распознает его, как файл и не отдает пользователю.

Так как на большинстве сайтов используется автоматический Загрузчик файлов, который без лишних вопросов загружает то, что пользователь выбирает на своем компьютере. Поведение апача верное, но он не может отличить файл от html, для него всё является ссылкой, поэтому он так и будет обрабатывать.

Таким образом, нужно всего лишь не использовать символы запрещенные для имен и папок на сайте. Это самое простое в реализации.

 

Дополнительно, запомните следующие правила и постарайтесь им следовать:

  • Название файлов не должно начинаться и заканчиваться знаком "Пробел" (space), "Точка" (period), "Дефис" (hyphen) или "Подчеркивание" (underline);
  • Не присваивать файлам слишком длинные названия, постараться не превышать 31 символ;
  • По возможности всегда использовать только маленькие буквы, некоторые операционные системы чувствительны к регистру;
  • Избегайте использование знакаробел" и "Подчеркивание", если название файла состоит из нескольких слов. В этом случае лучше используйте знакефис".
  • Не используйте отличные от латиницы буквы для названий файлов и папок (русские, китайские, немецкие с умляут и др.). Не смотря на широкие возможности современных кодировок типа UTF-8, у некоторых пользователей могут возникнуть трудности с файлами, имеющими такие экзотические символы в названии.

Комментарии (3)

This comment was minimized by the moderator on the site

Запрещенные символы, это:
- Х,
- Y
- Й
(когда они стоят подряд в одной строке)

This comment was minimized by the moderator on the site

Yes, really. So happens.

This comment was minimized by the moderator on the site

Кабалистические символы запрещены! :))))

Здесь не опубликовано еще ни одного комментария

Оставьте свой комментарий

  1. Опубликовать комментарий как Гость.
0 Значки
Вложения (0 / 3)
Поделитесь своим местоположением

      Статистика использования различных версий iOS
      Статистика использования различных версий iOS

      При разработке iOS-приложения необходимо указать минимальную версию операционной системы, для которой это приложение будет доступно. Соответственно, пользователи, у которых в мобильных устройствах установлена данная версия iOS или более новая версия, смогут установить приложение. Иногда бывает не просто обеспечить совместимость приложения для большого числа операционных систем, для разработчика это является...




      Проектор для кондитера
      Проектор для кондитера

      Кондитеры часто украшают торты и другие десерты замысловатыми рисунками и надписями. Вручную нанести сложное изображение не просто с первого раза, также важно изначально правильно и в нужном масштабе расположить надпись или рисунок на поверхности десерта - например, строго по центру. В этом случае без предварительного моделирования не обойтись. Поможет это сделать специальный проектор для...




      Про НОТАМы
      Про НОТАМы

      НОТАМы (NOTAM = NOTice for Air Men) - это существенные изменения в аэронавигационной обстановке. Международные НОТАМы распространяются из мест их издания по всему миру. Некоторые страны издают также региональные (внутренние) НОТАМы, которые доступны обычно только для эксплуатантов своей страны. НОТАМы дополняют сборники аэронавигационной информации и обеспечивают актуализацию аэронавигационной информации через...




      Jeppesen Mobile FliteDeck версия  2.0
      Jeppesen Mobile FliteDeck версия 2.0

      Сегодня ночью (по Московскому времени, когда в американском Денвере в это время был солнечный день) фирма Jeppesen представила на всеобщее обозрение видеоролик с анонсом новой версии программы Jeppesen Mobile FliteDeck - v2. К сожалению пока не раскрывается дата, когда можно будет вживую протестировать эту программу. Действующая версия программы Jeppesen Mobile FliteDeck, существующая с прошлого года на данный...




      Срок действия баз данных Jeppesen для EFB
      Срок действия баз данных Jeppesen для EFB

      Базы данных Jeppesen используются в EFB в следующих программах: Mobile TC, Mobile TC PRO, Mobile FD и Mobile FD PRO. Все перечисленные приложения могут быть установлены, активированы и использоваться в планшетах iPad и содержат следующие базы данных: TerminalChart (схемы и процедуры аэродромов); Text (текстовая информация – General, ATC, Radio Aids, Entry Requirements и др.) Enroute (маршрутная карта) – только у...




      Программа для офисного бездельника
      Программа для офисного бездельника

      "Ура!" - воскликнут дружно все офисные лодыри и бездельники. Ведь для них создана специальная программа для имитации бурной деятельности (ИБД). То есть теперь можно, запустив эту программу, сидеть перед компьютером и ничего не делать. Отмазка по поводу безделья есть: "Осуществляется важный процесс, который нельзя прерывать!".




      Чехол Griffin Survivor для iPad 2
      Чехол Griffin Survivor для iPad 2

      Пользователь планшета iPad рано или поздно обязательно задумается о необходимости приобретения и использования специального чехла для iPad. Какой защитный чехол купить? - каждый решает сам. А какой защитный купить, чтобы планшет смог выжить в любой, даже в экстремальной ситуации? - только Griffin Survivor.



Яндекс.Метрика