将复杂的文件名转换为HTML链接

时间:2020-03-05 18:45:10  来源:igfitidea点击:

我有一个包含PDF文件的目录,我需要为其创建索引。这是一个PHP页面,其中包含链接列表:

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

文件名可能很复杂:

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

在Linux / Apache服务器上链接到此文件的正确方法是什么?

是否有PHP函数可以进行此转换?

解决方案

回答

urlencode()应该可以做我们想要的。

编辑:urlencode()在瑞典语字符上工作正常。

<?php
        echo urlencode("???");   
    ?>

转换为:

%E5%E4%F6

回答

URL编码。我认为这是PHP中的" urlencode()"。

回答

我们可以使用rawurlencode()根据RFC 1738规范转换字符串。
此函数将所有非字母数字字符替换为它们的关联代码。

与urlencode()的区别在于空格被编码为加号。

我们可能需要使用最后一个。

这种技术称为百分比或者URL编码。有关更多详细信息,请参见Wikipedia。

回答

rawurlencode将在URL中编码"外来"字符。

回答

urlencode()函数会将空格转换为加号(+),因此将无法使用。 rawurlencode可以解决问题。谢谢。

请确保分别转换路径的每个部分,否则路径/文件将转换为path%2Ffile。 (这是我想念的)