警告: 私は php の経験がまったくありません。
サーバー上のファイルのリストの名前を読み取り、これらを使用して XML ファイルを作成しようとしています。これらの一部には外国語の文字が含まれているため、XML の作成中に問題が発生します。
周りを検索した後、おそらくhtmlspecialchars
またはを使用する必要があることに気付き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>