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

Комментарии   

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

Добавить комментарий

     

Защитный код
Обновить


      Как добраться из Шонефельда в Тегель
      Как добраться из Шонефельда в Тегель

      Путешествуя по Европе, довольно часто приходится планировать свой маршрут через Германию, например, получив немецкий шенген, едешь в Швейцарию или в Прагу. Не всегда получается первоочередно поехать в ту страну, визу которой получил. Если "точка входа" в шенген - Германия, то чаще всего транзитным пунктом становится Берлин. Из России в Берлин можно прилететь в аэропорт Шонефельд (Schönefeld), а вот дальше...




      Надпись
      Надпись "Licensed to (unknown)" в колонтитуле схем Jeppesen

      Пользователи программ Jeppesen e-Link for Windows (E4W) или Jeppesen JeppView при распечатке схем (Charts) аэродромов (как на реальном, так и с помощью виртуального PDF-принтера) могут заметить в верхнем колонтитуле непрезентабельную надпись "Licensed to (unknown)", которая, теоретически, может стать причиной дополнительных ненужных вопросов к пилоту от рамповой инспекции в случае, если эти схемы попадутся...




      Настройка статического IP-адреса на Linux Debian 9
      Настройка статического IP-адреса на Linux Debian 9

      Иногда необходимо самостоятельно изменить IP-адрес сервера. Все мануалы и "полезные статьи" в интернете указывают, что нужно всего-то внести изменения в файл сетевых настроек: etc/network/interfaces Но нигде это не написано главного, и все статьи в интернете не принимают в расчет конкретный номер версии операционной системы Debian и разные варианты реализации сетей!




      Перепрошивка навигаторов Garmin
      Перепрошивка навигаторов Garmin

      Несколько раз в сети попадалась информация по перепрошивке GPS-навигаторов Garmin. В том числе и про превращение бытового навигатора Garmin 276 (и его модификаций) в полноценный авиационный навигатор Garmin 296. Не зря говорят, что "Голь на выдумку хитра!", и многие пытаются сэкономить на приобретении полноценного прибора. По неофициальной информации элементная база Garmin 276 и 296 одна и та же....




      Служба спасения 911 - Рождественский кошмар
      Служба спасения 911 - Рождественский кошмар

      Ведущий: Ежедневно тысячи людей попадают в кpитические ситуации, безвыходные положения, ломают pуки и ноги. Помочь им в этом пpизвана наша пpогpамма и служба "Спасение 911". Приободрить людей, попавших в беду, свести все к шутке - в этом состоит наша главная задача. И об одном таком случае, случившемся в Рождество, я не имею пpава молчать. Да, собственно, не очень-то и хочется.




      Как создать корзину на флэшке
      Как создать корзину на флэшке

      Как известно, по умолчанию корзина Windows создается только на жестких дисках (HDD), на флэшках ее нет. Поэтому, случайно удалив что-нибудь на флешке, для восстановления приходится прибегать к помощи специальных реанимационных программ. Иногда, правда в результате воздействия вирусов на флэшках может появиться визуально похожий на Корзину объект, но это - не настоящая корзина, и в ней кроме вирусов...




      Как показать GPS-трек на Яндекс-картах
      Как показать GPS-трек на Яндекс-картах

      Если вы проложили маршрут до некой точки, записав для этого GPS-трек, и вам необходимо публично поделиться этой информацией - как проехать до этого места назначения (охотничий домик, турбаза в лесу далеко за городом или просто домик в маленькой деревне в глухой провинции, и др...), то вы обязательно захотите показать этот трек на карте. Вариантов тут может быть несколько, а основных только два: используя...



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