hallo iedereen,

ik wil door middel van php een directory uitlezen en alle .txt bestanden in een xml zetten.


ik lees de directory uit op de volgende manier:
<?
$filter = ".txt";

$directory = "news";




@$d = dir($directory);
if ($d) { 
	while($entry=$d->read()) {  
		$ps = strpos(strtolower($entry), $filter);
		if (!($ps === false)) {  
			$items[] = $entry; 
		} 
	}
	$d->close();
	sort($items);
}?>


mijn probleem is nu hoe ik het op de juiste manier in een xml krijg.
de xml zou er ongeveer als volgt uit moeten zien.

<tree>
	<folder label="categorie1">
		<link label="Headline1" url="Headline1"/>
		<link label="Headline2" url="Headline2"/>
		<link label="Headline3" url="Headline3"/>
	</folder>
<tree>

waarbij headline1, 2 en 3 de naam van het txt bestand zonder .txt zou moeten zijn.

als er iemand is die mij een beetje op weg kan helpen heel graag.
alvast bedankt!!

greets,
yoram
Onder PHP5 zou dat kunnen door gebruik te maken van de ingebouwde DOMDocument class.
Je script uitbreiden met:

<?php

header('Content-type: text/xml'); //kweet niet zeker of het de goede is hoor!

echo '<tree>
<folder label="categorie1">';

foreach($items as $item)
{
$item = substr($item, 0, -4)
echo '
<link label="'.$item.'" url="'.$item.'"/>';
}

echo '
</folder>
<tree>';

?>

<?php
$filter = ".txt";

$directory = "news";




@$d = dir($directory);
if ($d) { 
    while($entry=$d->read()) {  
        $ps = strpos(strtolower($entry), $filter);
        if (!($ps === false)) {  
            $items[] = $entry; 
        } 
    }
    $d->close();
    sort($items);
}

header('Content-type: text/xml'); //kweet niet zeker of het de goede is hoor!

echo '<tree>
    <folder label="categorie1">';

foreach($items as $item)
{
$item = substr($item, 0, -4)
echo '
<link label="'.$item.'" url="'.$item.'"/>';
}

echo '
    </folder>
<tree>';

?>



Parse error: parse error, unexpected T_ECHO in /home/virtual/site48/fst/var/www/html/test/test.php on line 29


die foutmelding krijg ik nu..
zou niet weten wat er nou fout is..

<?php
$item = substr($item, 0, -4)
?>

moet worden (let op de ; achteraan)

<?php
$item = substr($item, 0, -4);
?>


Veel van deze foutmeldingen (en hun oplossingen) kan je ook terugvinden in het PHP-faq.
dankje!!
en ook voor de handige link!
Oeps, gebeurt me wel vaker =P

Reageren