Array in einer Schleife füllen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Array in einer Schleife füllen

    Hallo zusammen.

    Ich hoffe das ist keine schon gestellte Frage, habe sie in dieser Form auch noch nicht gefunden. Wenn ja bitte ich euch um einen Link dahin.

    Mein Problem ist das ich ein Array in einer Schleife füllen möchte. Das Problem besteht darin das ich nicht weiß wieviel Einträge es werden. Als Bintergrundinfo: Ich lasse in einem Ordner die Anzahl von Bildern ermitteln. Die Anzahl der Bilder wird in $bilder gespeichert und am Ende des Scripts in eine Textdatei geschrieben. Innerhalb meiner whil Schleife kann ich mir auch die Dateinamen der Bilder ausgeben lassen. $file

    Wie wäre es jetzt am Zweckmäßigsten die Dateinamen hintereinander mit Komma getrennt erstens mit echo ausgeben zu lassen und so wie die Anzahl der Bilder auch die Dateinamen in die Textdatei zu schreiben?

    Da ich noch nicht lange mit PHP arbeite bitte ich euch um eine evtl ausführlichere Antwort da ich alles was ich schreibe auch verstehen möchte.

    Vielen Dank schon mal im voraus! Nachfolgend ein Teil der PHP Datei.

    PHP-Code:
    <?PHP
    $bilder 
    1;                                            // Zähler auf 1 setzen
    $verz opendir ('bilder');                                // Verzeichnis öffnen mit opendir

        
    while ($file readdir ($verz))                        // Verzeichnisinhalt (aus $verz) einlesen und in $file speichern
        
    {
            if(!
    is_dir($file) && substr($file,-4)=='.jpg')    // Abfrage wenn $file ungleich ein Verzeichnis (also Datei) ist und substr gleich .jpg 
            
    {
                
    $bilder++;                                    // ... und erhöhe $bilder um 1
                
    echo $file;    
            }
        }

    closedir($verz);                                        // Verzeichnis schliesen mit closedir    



    print "<p>".$bilder."</p>";                                // Gibt Gesamtanzahl der JPEG Bilder im Ordner Bilder aus
    $anz_img .= $bilder;                                    // Übergebe Wert von $bilder an $img_anz        

    $datei="werte.txt";                                        // Dateiname in Variable speichern                    
    if (file_exists($datei))                                // Existiert die Textdatei?
    {
        
    $fp=fopen($datei,"w+");                                // Am Anfang der Datei schreiben und alten Wert löschen

    else
    {
        
    $fp=fopen($datei,"w");                                // ... ansonsten erstelle Datei
    }
    fputs($fp,"&files=".$file.", ");                        // Schreibe neuen Wert in die Textdatei
    fputs($fp,"&anz_img=".$anz_img."&");                    // Schreibe neuen Wert
    fclose($fp);                                            // Schliessen der Textdatei

    ?>

  • #2
    schau dir im manual die funktionen glob() und count() an.

    Wie wäre es jetzt am Zweckmäßigsten die Dateinamen hintereinander mit Komma getrennt erstens mit echo ausgeben zu lassen und so wie die Anzahl der Bilder auch die Dateinamen in die Textdatei zu schreiben?
    mit implode(), aber wozu soll das gut sein? was steht letzten endes in der datei? wie sieht es aus? wozu steht es dort?

    schau im manual, was der modifier "w+" für eine wirkung hat, wenn die datei nicht exisitert.

    Kommentar


    • #3
      Zweck

      w+ == Schreiben + Lesen, Dateizeiger an den Anfang setzen.

      In der Textdatei steht momentan: anzahl_bilder=9
      Ziel ist es das folgendes noch dazu kommt:
      namen_bilder= bild1.jpg, bild2.jpg, bild3.jpg, bild4.jpg, bild5.jpg, usw. je nachdem wieviel bilder in dem odner (bilder) drin sind...!

      Zweck: Ich möchte die Variable anzahl_bilder und namen_bilder an Flash übergeben, damit Flash weiß, wieviel Bilder zur Verfügung stehen und wie sie benannt sind.

      Hoffe ich konnte erklären was ich erreichen möchte!??

      Kommentar

      Lädt...
      X