вземане на файловете с разширение xml

embaka

Registered
здравейте, трябва ми някаква функция или скрипт, който обхожда всички папки и файлове в тях и взема само *.xml и ги чете 1 по 1, взема данните и ги записва в база.

След редакция. Вземам файловете от всички папки, обаче има един проблем на функцията ListFolder, когато дам print_r най долу в нея ми извежда двата резултата, които имам, но когато задам $test = ListFolder("xml"); и го foreach ми връща един резултат

Код:
<?php
function ListFolder($path)
{
	$xml = array();
    //using the opendir function
    $dir_handle = @opendir($path) or die("Unable to open $path");
   
    //Leave only the lastest folder name
    $dirname = end(explode("/", $path));

    while (false !== ($file = readdir($dir_handle)))
    {
			$ext = pathinfo($file, PATHINFO_EXTENSION);
			
        	if($file!="." && $file!="..")
        	{
            	if (is_dir($path."/".$file))
            	{
                	//Display a list of sub folders.
                	ListFolder($path."/".$file);
				}
            	else
            	{
					if ($ext == "xml"){
               			//Display a list of files.
						if ($path == ''){
                		$xml['name'] = $file;
						}else{
						$xml['name'] = $path."/".$file;
						}
					}
            	}
        	}
	}
    //closing the directory
    closedir($dir_handle);
	//print_r($xml);
	return $xml;
	
}
	
  $test = ListFolder("xml");
  print_r($test);

  $doc = new DOMDocument();
  foreach ($test as $opala)
  {
  $doc->load( $opala );
  
  $books = $doc->getElementsByTagName( "book" );
  	foreach( $books as $book )
  	{
  		$authors = $book->getElementsByTagName( "author" );
  		$author = $authors->item(0)->nodeValue;
  
  		$names = $book->getElementsByTagName( "name" );
  		$name = $names->item(0)->nodeValue;
  
  		//echo "$author - $name<br>\n";
  	}
  
  }
  ?>
 
съвсем малко ми остана да го довърша, не мога да разбера защо ми връща само един резултат. при принт в края на функцията ListFolder ми извежда двата резултата

след това като се опитам да принтна $test ми връща само един, къде греша, че ми писна вече да се занимавам с тия xml :D
 

Back
Горе