Christian: PHP & XML

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

  1. 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

    --
    Losung für Montag, 26. Juli 2004
    Herr, du bist meine Stärke und Kraft und meine Zuflucht in der Not! (Jeremia 16,19)
    Als Jaïrus Jesus sah, fiel er ihm zu Füßen und bat ihn sehr und sprach: Meine Tochter liegt in den letzten Zügen; komm doch und lege deine Hände auf sie, damit sie gesund werde und lebe. Und er ging hin mit ihm. (Markus 5,22-24)
    (http://www.losungen.de/heute.php3)
  2. 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®

    --
    Als Freiberufler bin ich immer auf der Suche nach Aufträgen: Schulungen, Development. Auch  für seriöse Agenturen.
    1. 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®

      --
      Als Freiberufler bin ich immer auf der Suche nach Aufträgen: Schulungen, Development. Auch  für seriöse Agenturen.
    2. 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®

      --
      Als Freiberufler bin ich immer auf der Suche nach Aufträgen: Schulungen, Development. Auch  für seriöse Agenturen.
    3. Moin!

      Bitte unbedingt die Korrekturen beachten!

      MFFG (Mit freundlich- friedfertigem Grinsen)

      fastix®

      --
      Als Freiberufler bin ich immer auf der Suche nach Aufträgen: Schulungen, Development. Auch  für seriöse Agenturen.
      1. 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®

        --
        Als Freiberufler bin ich immer auf der Suche nach Aufträgen: Schulungen, Development. Auch  für seriöse Agenturen.