ubuntuusers.de

PHP Ordner auslesen und alle Ordner namen in ein Array schreiben

Status: Gelöst | Ubuntu-Version: Nicht spezifiziert
Antworten |

Newbiew

Anmeldungsdatum:
11. Mai 2009

Beiträge: Zähle...

Hallo Leute, ich hab ein Problem und zwar will ich mit Hilfe von PHP einen Ordner auslesen und alle Ordnernamen die da drinnen sind sollen in ein Array gespeichert werden Bsp: Array[0]=>Bilder Array[1]=>Videos ... Ich hab bisher leider nichts gefunden was mir wirklich weiter hilft... schon mal vielen Dank!!

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
if (strlen($_POST["Fortführung"])==0 )
{

$dir = "/home/frigge/Upload/".$selectbox."/".$AL."/".$uploaddir;
 if (is_dir($dir)) {
    if ($dh = opendir($dir)) {
        while (($file = readdir($dh)) !== false) {
      
				
        		  
        		  		
        		  		
              }      
        }
        closedir($dh);
    }


			
}

Greebo

Avatar von Greebo

Anmeldungsdatum:
21. November 2006

Beiträge: 3443

Wohnort: 97070 Würzburg

Suchst du scandir? Falls ja, hat mich das jetzt als PHP-fremden 2 Minuten suche gekostet...

svenXY

Avatar von svenXY

Anmeldungsdatum:
22. September 2008

Beiträge: 542

Wohnort: Heidelberg

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php

$types = array( 'jpg' => 'Bild', 'png' => 'Bild', 'avi' => 'Video' );

$dir = "/home/jemand/Bilder";
$groupedFiles = array();

if (is_dir($dir)) {
    if ($dh = opendir($dir)) {
        /* Das ist der korrekte Weg, ein Verzeichnis zu durchlaufen. */
        while (false !== ($file = readdir($dh))) {
            if ( is_dir($file) ) {
                next;
            }
            # extension ermitteln
            $ext = end(explode('.',$file));
            # Array befüllen
            $groupedFiles[$types[$ext]][] = $file;
        }
    }
}
closedir($dh);

print_r($groupedFiles);

?>

sollte Dein Problem lösen.

xabbuh Team-Icon

Anmeldungsdatum:
25. Mai 2006

Beiträge: 6411

Mit glob() geht das auch wesentlich kürzer:

1
2
3
4
<?php
if(is_dir($dir)) {
    $subdirs = glob("$dir/*", GLOB_ONLYDIR);
}

Newbiew

(Themenstarter)

Anmeldungsdatum:
11. Mai 2009

Beiträge: 23

Vielen Dank für die Antworten werde das gleich aus probieren, die Antwort von mir kommt so spät , weil ich weg fahr werde mir beide Beispiele gleich mal zur Brust nehmen und schauen was sie hergeben;)

Danke & Grüße

Newbiew

(Themenstarter)

Anmeldungsdatum:
11. Mai 2009

Beiträge: 23

Hmmm irgendwie funktioniert das nicht so wie ich will vielleicht war die Frage von mir auch nicht genau genug, also ich möchte das die Ordnernamen die sind bei mir z.B FF0652-2009512153012 und alle die mit FF anfangen soll er einlesen dann sollen die so in ein Array geschrieben werden das die die 4 Ziffern nachdem FF mit einander vergleichen kann um heraus zu finden welche die größte ist. Ich will den ersten Ordnernamen ausgeben können indem ich print_r($array [0][0]) und den zweiten Ordnernamen mit print_r($array[0][1]).Ich würde mich über jeden Denk Anstoß in die richtige Richtung freuen:)

Newbiew

(Themenstarter)

Anmeldungsdatum:
11. Mai 2009

Beiträge: 23

Nochmal Hallo ich hab selber noch weiter probiert und jetzt hakt es an einer anderen Stelle , für euch ist das wahrscheinlich ziemlich einfach aber ich krieg es nicht hin also ich hab jetzt einen String wo all die Daten drinnen sind die ich haben will aber, ich möchte das dieser String nach 6 Zeichen getrennt wird und in eine Variable gelegt wird. Das ist der String: FF0645FF9998FF9999FF9000FF0646FF0999FF8999FF0534FF9001FF0648FF0649FF9000FF1000FF0647FF1001 und nachher soll das in der Variable so aussehen $string1=FF0645 $string2=FF9998 und danach sollen per Schleife ermittelt werden welcher Wert der höchste ist hoffentlich kann mir da einer helfen.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
if (strlen($_POST["Fortführung"])==0 )
{

$dir = "/home/frigge/Upload/".$selectbox."/".$AL."/".$uploaddir;
 if (is_dir($dir)) {
    if ($dh = opendir($dir)) {
        while (($file = readdir($dh)) !== false) {
       
				$arr1=explode(" ",$file); 
				
			if($arr1[0][0].$arr1[0][1]=="FF")
				{  
				 $test=explode(" ",$arr1[0][0]);
				 $test2=explode(" ",$arr1[0][1]);
				 $test3=explode(" ",$arr1[0][2]);
				 $test4=explode(" ",$arr1[0][3]);
				 $test5=explode(" ",$arr1[0][4]);
				 $test6=explode(" ",$arr1[0][5]);
		 		 
		 		 $Zusammenfassung=$test[0][0].$test2[0][0].$test3[0][0].$test4[0][0].$test5[0][0].$test6[0][0];
		 		 echo $Zusammenfassung;
				
				} 
        		  
 		 	}       
      }
        closedir($dh);
  } 
}
Antworten |