XMLファイルを動的にトラフするPHPを作成しようとしています。私のftpの特定のディレクトリでDIRSとFILESを読んでいます。は再帰関数の中で変数に値を代入することができません
<?php
$path = ".";
$dir_handle = @opendir($path) or die("Unable to open $path");
function list_dir($dir_handle,$path)
{
while (false !== ($file = readdir($dir_handle))) {
$dir =$path.'/'.$file;
$link =$path.'/';
if(is_dir($dir) && $file != '.' && $file !='..')
{
$handle = @opendir($dir) or die("unable to open file $file");
$xmlString .= '<' . $file . '>';
list_dir($handle, $dir);
$xmlString .= '</' . $file . '>';
}
elseif($file != '.' && $file !='..' && $file !='ftpteste.php')
{
$xmlString .= '<IMAGE>';
$xmlString .= '<PHOTO>' . $link . '' . $file . '</PHOTO>';
$xmlString .= '</IMAGE>';
}
}
closedir($dir_handle);
}
$xmlString ='<XML>';
list_dir($dir_handle,$path);
$xmlString .="</XML>";
$strXMLhead = '<?xml version="1.0" encoding="UTF-8" ?>';
$xmlString = $strXMLhead . "\n" . $xmlString;
$xmlLoc = "../../interiores/xml/content.xml";
$fileXML = fopen($xmlLoc, "w+") or die("Can't open XML file");
if(!fwrite($fileXML, pack("CCC",0xef,0xbb,0xbf)))
{
print "Error Saving File";
}
else
{
fwrite($fileXML, $xmlString);
print "XML file saved";
}
fclose($fileXML);
?>
問題は、私は、関数の内部で実行$ XmlStringには、出力を取得していないんだということである。
は、これまでのところは神、ここではコードです。文字列を結合する代わりにPrintを使用すると、それはうまくいきます。しかし、私はファイルに保存するために変数にする必要があります。
保存しても問題ありません。
それはのような何かを出力する必要があります
<XML>
<$DIR NAME>
<IMAGE>
<PHOTO>$FILE_NAME</PHOTO>
</IMAGE>
</$DIR NAME>
</XML>
は、誰もがこれで私を助けることができますか?事前に
おかげで、 アルトゥル