ubuntuusers.de

[PHP - sortierte Liste] alphabetische Anordnung

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

march Team-Icon

Avatar von march

Anmeldungsdatum:
12. Juni 2005

Beiträge: 17368

Wohnort: /home/noise

Hi ☺

Ich bekomme es leider nicht hin, dass meine automatisch generierte Liste alphabetisch sortiert angezeigt wird. Ich habe aber auch nicht wirklich Ahnung. 😉 Kann mir jemand auf die Sprünge helfen? Ich übersehe wahrscheinlich ein kleines Detail...

 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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
	<link rel="icon" type="image/x-icon" href=".../favicon.png">
	<link rel="shortcut icon" type="image/x-icon" href=".. /favicon.png">
	<link type="image/x-icon" href=".. /favicon.png">
<title>Foo</title>
</head>

<body>
<?php  
$hide = array('index.php',  
              'index.html');  



// function start  
$out  = '';  
function scan($folder){  
  global $hide, $out;  
    
  if($content = opendir($folder)){  
    $out .= "<ul>\n";  
    while(false !== ($file = readdir($content))){  
      if(is_dir("$folder/$file") && $file != "." && $file != ".." && !in_array($file, $hide)){ 
        $out .= "<li><strong>$file</strong>\n";   
           scan("$folder/$file");  
        $out .= "</li>\n";  
      } elseif($file != "." && $file != ".." && !in_array($file, $hide) && stristr($file, '.pdf')){  
        $out .= "<li><em><a href=\"$folder/$file\">$file</a></em></li>\n";
         
      }  
    }  
    closedir($content);  
    $out .= "</ul>\n";    
  }  
  return $out;  
}  
// function end  


echo scan('./');  
?>
</body>
</html>

Danke ☺

Moderiert von rklm:

Verschoben aus der Lounge, da das ein Programmierproblem ist.

rklm Team-Icon

Projektleitung

Anmeldungsdatum:
16. Oktober 2011

Beiträge: 13204

march schrieb:

Ich bekomme es leider nicht hin, dass meine automatisch generierte Liste alphabetisch sortiert angezeigt wird. Ich habe aber auch nicht wirklich Ahnung. 😉 Kann mir jemand auf die Sprünge helfen? Ich übersehe wahrscheinlich ein kleines Detail...

Du sortierst nicht. 😬

M.E. ist etwas ungünstig, dass Du Verzeichnisse immer offen hältst, während Du Unterverzeichnisse durchsuchst. Das kostet so viele Dateideskriptoren, wie tief der Baum geschachtelt ist.

Viele Grüße

robert

march Team-Icon

(Themenstarter)
Avatar von march

Anmeldungsdatum:
12. Juni 2005

Beiträge: 17368

Wohnort: /home/noise

Du sortierst nicht. 😬

Ich weiß. ☺ Das obige Beispiel war mein Ausgangsmaterial und hatte ich irgendwo im Netz einmal gefunden.

M.E. ist etwas ungünstig, dass Du Verzeichnisse immer offen hältst, während Du Unterverzeichnisse durchsuchst. Das kostet so viele Dateideskriptoren, wie tief der Baum geschachtelt ist.

Was für eine Alternative kann ich gehen? Wahrscheinlich habe ich eine kleine Option übersehen - ein Zusatzparameter oder so.

Das Skript soll auf meiner Internetseite nach den hinterlegten PDF-Dateien suchen, diese mit Angabe des Ordners und einem Link ausgeben um das PDF öffnen zu können:

Bisher wird eine unsortierte Liste erstellt. Der älteste Beitrag erscheint am Seitenanfang und zum Ende hin kommen die später hinzugefügten Daten. Ich schaue einmal auf dem anderen PC was ich im Detail schon getestet habe - sofern ich die erfolglosen Versuche noch gespeichert habe.

xabbuh Team-Icon

Anmeldungsdatum:
25. Mai 2006

Beiträge: 6411

Schau Dir mal die Funktion glob() an.

rklm Team-Icon

Projektleitung

Anmeldungsdatum:
16. Oktober 2011

Beiträge: 13204

march schrieb:

Du sortierst nicht. 😬

Ich weiß. ☺ Das obige Beispiel war mein Ausgangsmaterial und hatte ich irgendwo im Netz einmal gefunden.

Dann verstehe ich jetzt Deine Frage nicht.

M.E. ist etwas ungünstig, dass Du Verzeichnisse immer offen hältst, während Du Unterverzeichnisse durchsuchst. Das kostet so viele Dateideskriptoren, wie tief der Baum geschachtelt ist.

Was für eine Alternative kann ich gehen? Wahrscheinlich habe ich eine kleine Option übersehen - ein Zusatzparameter oder so.

Nee, aber Du kannst ja z.B. das Verzeichnis lesen und die Dateinamen direkt in eine Ausgabe generieren und die Verzeichnisnamen in ein Array packen. Dann machst Du das aktuelle Verzeichnis wieder zu und gehst dann durch das Array der Unterverzeichnisse und rufst die Funktion rekursiv auf.

Das Skript soll auf meiner Internetseite nach den hinterlegten PDF-Dateien suchen, diese mit Angabe des Ordners und einem Link ausgeben um das PDF öffnen zu können:

Bisher wird eine unsortierte Liste erstellt. Der älteste Beitrag erscheint am Seitenanfang und zum Ende hin kommen die später hinzugefügten Daten. Ich schaue einmal auf dem anderen PC was ich im Detail schon getestet habe - sofern ich die erfolglosen Versuche noch gespeichert habe.

Welche Sortierung willst Du denn haben?

Ciao

robert

march Team-Icon

(Themenstarter)
Avatar von march

Anmeldungsdatum:
12. Juni 2005

Beiträge: 17368

Wohnort: /home/noise

Schau Dir mal die Funktion glob() an.

Mache ich - Danke. ☺

Dann verstehe ich jetzt Deine Frage nicht.

Ausgehend von dem Material wollte ich wissen, welche Funktionen man nutzen kann um sich eine alphabetisch sortierte Liste generieren zu lassen. Die Sache mit dem array schaue ich mir genauer an.

Welche Sortierung willst Du denn haben?

Ich habe auf meiner Seite drei Ordner Bauanleitungen, Spielanleitungen und Bedienungsanleitungen im Laufe der Jahre als pdf hinterlegt. Die Sortierung soll alle Ordner, UNterordner und die enthaltenen Dateien alphabetisch sortiert anzeigen, damit ich z.B. eine Anleitung für mein Smartphone schneller finde. Derzeit werden die Dateien/Ordner entsprechend dem Datum des uploads angezeigt:

  • Bedienungsanleitungen

    • Lenovo

      • x121e_ug_de.pdf

      • T500 and W500 Setup Poster.pdf

    • Dymo

      • LetraTag_XR.pdf

  • Spielanleitungen

    • Ravensburger

      • Spieltitel

        • daspdf.pdf

    • Heidelberger-Spieleverlag

      • Spieltitel

        • daspdf.pdf

...

Gewünscht wäre:

  • Bedienungsanleitungen

    • Dymo

      • LetraTag_XR.pdf

    • Lenovo

      • T500 and W500 Setup Poster.pdf

      • x121e_ug_de.pdf

  • Spielanleitungen

    • Heidelberger-Spieleverlag

      • Spieltitel

        • daspdf.pdf

    • Ravensburger

      • Spieltitel

        • daspdf.pdf

...

Evtl. klappt das mit glob(). Ich schaue mir das gleich an. Danke. ☺

Antworten |