PHP & XML
Christian
- php
Hi,
wie kann man mit PHP eine XML-Datei nach folgendem Schema
generieren lassen?
<?xml version="1.0"?>
<!--
set transition number from 1 to 9
set transition number to 0 for random effect
-->
<RSS PAUSE="15000">
<IMAGE TRANSITION="11">wp-images/headerpics/photo_1.jpg</IMAGE>
<IMAGE TRANSITION="11">wp-images/headerpics/photo_2.jpg</IMAGE>
<IMAGE TRANSITION="11">wp-images/headerpics/photo_3.jpg</IMAGE>
</RSS>
Dabei soll die Reihenfolge der Bilder immer zufällig neu generiert werden.
Wäre toll, wenn mir jemand helfen könnte.
Danke
Christian
Hallo Christian!
wie kann man mit PHP eine XML-Datei nach folgendem Schema
generieren lassen?
Wie jede andere Datei auch.
Die Bildreihenfolge mußt Du eben selbst mit irgendwelchen Zufallszahlen durcheinanderwürfeln.
Und dann einfach alles so ausgeben, wie Du es haben willst.
MfG
Götz
Moin!
Hi,
wie kann man mit PHP eine XML-Datei nach folgendem Schema
generieren lassen?
Ungetestet:
<?
echo '<?xml version="1.0"?>\n <RSS PAUSE="15000">';
/*
set transition number from 1 to 9
set transition number to 0 for random effect
*/
/* start random: */
srand();
/* Zuweisung des Wertes -1 an jedes Element des Arrays: */
$intRand[0]=-1;$intRand[1]=-1;$intRand[2]=-1;
$intRand[3]=-1;$intRand[4]=-1;$intRand[5]=-1;
$intRand[6]=-1;$intRand[7]=-1;$intRand[8]=-1;
/* Für jedes Element i von 9 bis 9, erhöhe nicht: */
for ($i=0; $i<9; $i=$i ) {
/* Zufallszahl von 1 bis 9 ermitteln */
$intRand=rand(1,9);
/* Prüfen, ob Element i des Arrays noch -1 ist, wenn ja: */
if ($intRand[$intRand]!=-1) {
/* Array auf den Wert setzen (Wird ja vielleicht noch gebraucht): */
$intRand[$intRand]=$i;
/* Ausgabe: */
echo '<IMAGE TRANSITION="11">wp-images/headerpics/photo_'.$i.'.jpg</IMAGE>';
/* Element erhöhen */
$i++;
/* end if (ich kann auch BASIC) */
}
/* NEXT i */
}
?>
</RSS>
Ist die Zweisung einer einmaligen Zufallszahl an ein Array noch frei? Dann würde ich das gern patentieren lassen :)
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix®
Moin!
/* Für jedes Element i von 9 bis 9, erhöhe nicht: */
Muss natürlich:
/* Für jedes Element i von 0 bis kleiner 9, erhöhe nicht: */
lauten. ist aber nur ein Kommentar :)
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix®
Moin!
echo '<IMAGE TRANSITION="11">wp-images/headerpics/photo_'.$i.'.jpg</IMAGE>';
*grummel*
Natürlich woillst Du da ja den Zufallswert drin stehen haben:
echo '<IMAGE TRANSITION="11">wp-images/headerpics/photo_'.$intRand.'.jpg</IMAGE>';
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix®
Moin!
Bitte unbedingt die Korrekturen beachten!
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix®
Moin!
Dann siehts so aus, ist aber nicht mehr so hübsch kommentiert:
<?
echo '<?xml version="1.0"?>'."\n ".'<RSS PAUSE="15000">'."\n";
$intCountedPics = 9;
$intPicsStartNum= 0;
for ($i=$intPicsStartNum; $i < $intCountedPics; $i++) {
$arIntRand[$i] = -1;
}
for ($i = $intPicsStartNum; $i < $intCountedPics; $i = $i ) {
$intRand = rand($intPicsStartNum, $intCountedPics);
if ($arIntRand[$intRand] == -1) {
$arIntRand[$intRand] = $i;
echo ' <IMAGE TRANSITION = "11">wp-images/headerpics/photo_'.$intRand.'.jpg</IMAGE>'."\n";
$i++;
}
}
?>
</RSS>
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix®