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

      Как учить авиационный английский
      Как учить авиационный английский

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




      Dropbox и сто iPad'ов
      Dropbox и сто iPad'ов

      Исходные данные: Сто планшетов Apple iPad; Множество документов (~ 60 шт) разного размера (от 1 до 200 Мб), периодически обновляемых, каждый документ по своему регламенту. Необходимо обеспечить: Наличие всех этих документов в актуализированном состоянии в любой момент времени непосредственно на всех этих iPad'ах; Элементарную (хотя бы) защиту этих документов.




      JeppView против Аэропорт Оптима
      JeppView против Аэропорт Оптима

      Всем давно известно, что американская фирма Jeppesen является лидером в области аэронавигационных данных, будь то чисто навигационные данные (ARINC-424 и пр.), данные по препятствиям или различные авиационные компьютерные приложения. Другие поставщики аэронавигационных продуктов тоже стараются и создают свои варианты. Давайте сравним как-бы аналогичные продукты от Jeppesen и от ФГУП ЦАИ (бывшее ЦАИ ГА).




      Как скопировать код экземпляра устройства?
      Как скопировать код экземпляра устройства?

       Код экземпляра устройства (vendor code) электронного оборудования или компонента позволяет узнать - какой именно производитель создал данное оборудование (hardware). Владение информацией о коде экземпляра устройства позволяет найти драйверы именно для этого устройства, реально совместимые с ним.




      Собеседование на работу
      Собеседование на работу

      Текст столетней давности в виде вопросов и ответов при собеседовании при устройстве на работу. Конечно, маловероятно, что кто-то реально будет так отвечать на собеседовании. Так честно... 1. Почему вы выбрали именно нашу компанию? Вы идиот(ка), да? Я, как и все кандидаты до меня и после меня, направил резюме в десяток мест. Где устроюсь быстрее и выгоднее - там и хорошо.   2. Как вы считаете, почему мы...




      Mapsme VS Google Maps
      Mapsme VS Google Maps

      В настоящее время имеется большое разнообразие программ для навигации: Mapsme, Яндекс.Навигатор, Sygic, Навител, Copilot, Magic Earth, iGo, TomTom Go и множество других приложений. Наиболее популярные версии - для iOS и для Android, для других платформ (например, Windows) не каждый производитель делает приложение. Разные пользователи выбирают и используют различные приложения для навигации - кому какие...




      Как изменить Mac-адрес сетевой карты
      Как изменить Mac-адрес сетевой карты

      Это нужно далеко не всем и довольно редко - менять мак-адрес (mac-address) сетевой карты компьютера. Но, тем не менее, такая необходимость может неожиданно возникнуть. Причины для изменения Mac-адреса: 1. Если интернет-провайдер использует привязку по Mac-адресу, а вы по некой причине вынуждены сменить домашний компьютер и не лишиться доступа к сети. В этом случае нужно для сетевой карты нового компьютера прописать Mac-адрес...



Яндекс.Метрика
Сайт работает на быстром VPS/VDS хостинге от FASTVPS