Если вы загружаете на сайт файлы (документы, изображения, архивы и пр.), и подразумевается, что доступ к этим файлам будет публичный, а не ограниченный списком избранных товарищей, нужно иметь в виду, что различные многочисленные пользователи сети интернет используют разные устройства ( настольные компьютеры, ноутбуки, планшеты, смартфоны, ...) и разные операционные системы (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)
Поделитесь своим местоположением

      URL-encoding & ASCII Characters
      URL-encoding & ASCII Characters

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




      Как обновить навигационные БД программ JeppView 3 и Flight Deck 3
      Как обновить навигационные БД программ JeppView 3 и Flight Deck 3

      Есть две замечательные программы для пилотов/штурманов от фирмы Jeppesen - JeppView 3 и FlightDeck 3. Вот только Jeppesen несколько лет назад перестал их поддерживать. Вместо программы JeppView 3 сейчас можно приобрести и установить программу JeppView for Windows (в принципе, она почти как старая версия, ничуть не хуже, даже, наоборот, функционал стал более расширенным). А вместо старой доброй FlightDeck 3...




      Сбербанк онлайн - дырка в приложении для iPad
      Сбербанк онлайн - дырка в приложении для iPad

      Многие клиенты сбербанка пользуются сервисом "Сбербанк онлайн" для управления своими финансами и платежами. У данного сервиса есть детище - приложение для iPad, имеющее похожее название - "Сбербанк ОнЛ@йн". В принципе, приложение "Сбербанк ОнЛ@йн" не плохое и довольно удобное. По сравнению с доступом через сайт к сервису "Сбербанк онлайн" гораздо проще реализована авторизация - нужно ввести только собственный пароль. Из...




      Как повернуть экран компьютера?
      Как повернуть экран компьютера?

      Иногда бывает необходимо повернуть экран компьютера на 90° или 180°. Например, когда нужно сделать скриншоты относительно длинной web-страницы - чтобы не нужно было потом картинки склеивать в графическом редакторе. Ведь чаще всего даже уменьшение масштаба отображения страницы сайта (нажать клавишу CTRL и покрутить колесо мыши или кнопками изменения масштаба в браузере) не достаточно, чтобы вся...




      Установка расширения MQ для PHP – mqseries
      Установка расширения MQ для PHP – mqseries

      Чтобы работать с очередями IBM MQ с помощью PHP, необходимо установить библиотеку для PHP - mqseries. В настоящее время самая актуальная библиотека mqseries имеет версию 0.15.0 (beta) от 14 июля 2017. Предварительно необходимо установить IBM WebSphereMQ.   Исходные данные: - виртуальный сервер с установленной операционной системой Linux Debian 10 x64; - панель управления сервером ISP Manager Lite 5. - нативная...




      Как настроить skype
      Как настроить skype

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




      Jeppesen FliteDeck Pro  - версия 2.9.0
      Jeppesen FliteDeck Pro - версия 2.9.0

      Очередное обновление флагманского приложения для EFB - Jeppesen FliteDeck Pro. Как говориться, нет пределов для совершенства, особенно, если это касается авиационного программного обеспечения для Electronic Flight Bag. В приложении Jepp FD Pro версии 2.9 появилась панель управления, совмещенная с рабочим полем приложения (расположена слева).Пилотам больше не нужно переключаться между вкладками – Схемы (Terminal...



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