带有特殊字符的php文件名列表输出到xml

时间:2012-05-31 12:24:59

标签: php xml utf-8

警告:我对php非常缺乏经验。

我正在尝试读取服务器上文件列表的名称,并使用这些文件创建XML文件。其中一些有外语字符,这会在XML创建过程中出现问题。

搜索后我意识到我可能需要使用htmlspecialcharsrawurlencode,但我无法让这些工作。

以下代码是根据我在网上找到的代码构建的。除了不知道更好之外,没有什么特别的理由做任何事情。

$objects = new RecursiveIteratorIterator(new RecursiveDirectoryIterator(realpath($_SERVER['DOCUMENT_ROOT'])), RecursiveIteratorIterator::SELF_FIRST);

header("Content-Type: text/xml;");
echo '<?xml version="1.0" encoding="UTF-8"?><list>';
foreach($objects as $name){

    echo '<file><loc>'.$name.fileName.'</loc><lastmod>'.date('Y-m-d',filemtime($name)).'</lastmod></file>';
}
echo '</list>'; 

澄清:这不是rawurlencode失败,只是因为我不知道如何将其保存在已解码的XML文件中

<file>
    <loc>
        http://%2Fhome%2Fusers%2Fjdfvnftp%2Fjdfv.nl%2Fptp%2Ftorrents%2FBuck.2011.DVD.XviD.AVI.106682.torrent.importedfileName
    </loc>
    <lastmod>2012-05-29</lastmod>
</file>

0 个答案:

没有答案