0

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

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

在四处搜索之后,我意识到我可能需要使用htmlspecialcharsor rawurlencode,但我一直无法让这些工作。

下面的代码是根据我在网上找到的代码构建的。除了不知道更好之外,没有特别的理由这样做。

$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>
4

0 回答 0