警告:我对 php 非常缺乏经验。
我正在尝试读取服务器上文件列表的名称并使用这些文件创建 XML 文件。其中一些具有外语字符,这会导致 XML 创建期间出现问题。
在四处搜索之后,我意识到我可能需要使用htmlspecialchars
or 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>