Как преобразовать сложное имя файла в HTML-ссылку? - PullRequest
1 голос
/ 29 августа 2008

У меня есть каталог с файлами PDF, для которого мне нужно создать индекс. Это страница PHP со списком ссылок:

<A HREF="path to file">filename</A>

Имена файлов могут быть сложными:

LVD 2-1133 - Ändring av dumpningslina (1984-11-20).pdf

Как правильно связать этот файл на сервере Linux / Apache?

Есть ли функция PHP для этого преобразования?

Ответы [ 5 ]

3 голосов
/ 29 августа 2008

Вы можете использовать rawurlencode () для преобразования строки в соответствии со спецификацией RFC 1738. Эта функция заменяет все не алфавитно-цифровые символы на связанный с ними код.

Разница с urlencode () заключается в том, что пробелы кодируются как знаки плюс.

Возможно, вы захотите использовать последний.

Этот метод называется процентным или URL-кодированием. См. Википедия для получения более подробной информации.

1 голос
/ 29 августа 2008

Функция urlencode () преобразует пробелы в знаки плюс (+), поэтому не будет работать. Rawurlencode делает свое дело. Спасибо.

Обязательно конвертируйте каждую часть пути отдельно, в противном случае путь / файл будет конвертирован в путь% 2Ffile. (что я пропустил)

0 голосов
/ 29 августа 2008

rawurlencode будет кодировать "экзотические" символы в URL.

0 голосов
/ 29 августа 2008

Кодировка URL . Я думаю, что это urlencode() в PHP.

0 голосов
/ 29 августа 2008

urlencode () , вероятно, должен делать то, что вы хотите.

Редактировать : urlencode () отлично работает на шведских символах.


    <?php
        echo urlencode("åäö");   
    ?>

преобразуется в:


    %E5%E4%F6
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...