Ankündigung

Einklappen
Keine Ankündigung bisher.

Problem mit array

Einklappen

Neue Werbung 2019

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

  • _-Tricky-_
    hat ein Thema erstellt Problem mit array.

    Problem mit array

    Hallo,
    ich habe ein problem mit dem kleinen Skript, welches ich geschrieben habe. Das Skript soll alles Verzeichnisse durchsuchen und die dateinamen in ein array schreiben. Geb ich die ne direkte ausgabe an mit echo, funktioniert es ohne Probleme. Nur das Array ist immer leer. Leider sind meine PHP Kenntnisse nicht so gut, aber jeder hat mal angefangen . Ich möchte das Skript dann noch erweitern mit filtern und so weiter. Über Tipps wäre ich sehr dankbar.

    PHP-Code:
    <?php 

    get_dir
    ($dir="./");     //Zielverzeichnis oeffnen
    $datei_array = Array(); //Datei Array anlegen

    function get_dir ($dir) {
      
    $fp=opendir($dir);
      while(
    $datei=readdir($fp)) {
       if (
    is_dir("$dir/$datei") && $datei!="." && $datei!="..") {                                                                                         
        
    get_dir("$dir/$datei");
        }
       else {
        
    array_push($datei_array,$datei);
        }
      }
     
    closedir($fp);
     return(
    $datei_array);
    }
    print_r($datei_array);
    ?>

  • _-Tricky-_
    antwortet
    Vielen Dank für große Hilfe. Hab das Problem nu gelöst. Werd das Skript noch etwas erweitern und dann hier nochmal posten. Schönen 1.Mai wünsch ich allen.

    Einen Kommentar schreiben:


  • wolf29
    antwortet
    Hm...ja, da hast du recht. Aber den Link zum Verständnis für Arrays scheint auch benötigt zu werden. Hier nochmal ein Link zum Thema Funktion (usw.):

    PHP: Funktionen - HTMLWorld

    Wolf29

    Einen Kommentar schreiben:


  • nikosch
    antwortet
    Entscheidend wäre aber eher ein Link auf die Verwendung von Funktionen, Parametern und Return-Werten.

    Einen Kommentar schreiben:


  • wolf29
    antwortet
    ...deswegen würde ich gerne nochmal auf meinen Link hinweisen! Sind meiner Meinung nach Basis Fehler.

    Wolf29

    Einen Kommentar schreiben:


  • nikosch
    antwortet
    LOL, stimmt, der return wird auch gar nicht zugewiesen..

    Einen Kommentar schreiben:


  • Paul.Schramenko
    antwortet
    Zitat von nikosch Beitrag anzeigen
    Du hast
    - erst das Array zusammengestellt,
    - dann das Array auf ein leeres Array gesetzt
    - dann ausgegeben
    Das Array das er in der Funktion verwendet ist doch nicht das gleiche was er zurück gibt...
    Oder liege ich jetzt falsch?
    Das müsste doch eher sein:
    - erst das Array zusammengestellt, und ins Nirvana zurückgegeben
    - dann leeres Array erstellt
    - leeres Array ausgegeben

    Nachtrag:
    Der Return ist wohl unnötig...

    Einen Kommentar schreiben:


  • nikosch
    antwortet
    Du hast
    - erst das Array zusammengestellt,
    - dann das Array auf ein leeres Array gesetzt
    - dann ausgegeben

    Einen Kommentar schreiben:


  • Paul.Schramenko
    antwortet
    Dein Array, dass du in derFunktion ansprichst, ist nicht das Array, welches du außerhalb angelegt hast.

    probier mal sowas. Habs allerdings nicht getestet
    PHP-Code:
    <?php
    $datei_array 
    = array();
    get_dir($dir="./"$datei_array);     //Zielverzeichnis oeffnen

    function get_dir ($dir, &$array) {
        
    $fp=opendir($dir);
        while(
    $datei=readdir($fp)) {
        if (
    is_dir("$dir/$datei") && $datei!="." && $datei!="..") {
            
    get_dir("$dir/$datei"$array);
        } else {
            
    array_push($array,$datei);
        }
      }
     
    closedir($fp);
     return(
    $array);
    }
    print_r($datei_array);
    ?>

    Einen Kommentar schreiben:


  • wolf29
    antwortet
    Hi.

    Schau nochmal bitte, wie man mit Arrays arbeitet:

    PHP - array - Array-Funktionen

    Wolf29

    Einen Kommentar schreiben:

Lädt...
X