Toon posts:

[PHP] Sorteren van bestanden werkt niet?!

Pagina: 1
Acties:
  • 37 views sinds 30-01-2008

Verwijderd

Topicstarter
Beste leden,

Heel de middag van alles geprobeert maar ik krijg het niet voor elkaar om enkele bestanden te sorteren.

Hieronder het script:

PHP:
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
47
48
49
50
51
52
53
54
55
// Zo wel, foto's tonen met knop muteren daaronder.\
            // Directory openen 
            
            $dir = $dir_reis_thumb;
            if ($dir_array = @opendir($dir_reis_thumb)) {
            
            
            // Titel 
            echo "<FONT SIZE=\"+1\">Fotooverzicht ($dir)</FONT><BR>"; 

            // Verwijder optie om foto of diashow te verwijderen
            
            echo "<A href='".$PHP_SELF."?pagina=verwijder_dir&reiscode=".$reiscode."'>Verwijder deze dia- en fotoshow</A><P>"; 
                

            // Tabel beginnen 
            
            echo "<TABLE BORDER=\"0\" CELLSPACING=\"0\">"; 

            // Parent link maken 
            //echo "<TR><TD><a href=\"fotoboek.php?path=$uppath\">[img]\"$dir_reis_thumb"[/img]<BR>[UP]</a></TD>"; 
            //$regelaantal = 1; 

            // Directory uitlezen 
            while(($entry = readdir($dir_array)) !== false) { 
            
                
                 
                // Selectie maken: . en .. niet laten zien 
                if ($entry != "." && $entry != "..") { 
          
                         if ($teller_kolom==3) {
                         echo ("</tr><tr>");
                         $teller_kolom = 0;  }
                                       
                    
                    $entrys = array();
                    $entrys[] = $entry; 
                    natsort($entrys);                               
                        foreach($entrys as $value) {
            
                        
                        echo "<TD><a href=\"$http_reis$value\" target=_blank>[img]\"$http_reis_thumb$value\"[/img]<BR>"; 
                        
                        echo "$value</a><BR><a href=".$PHP_SELF."?pagina=rename&reiscode=".$reiscode."&entry=".$value.">Rename foto</a><BR><a href=".$PHP_SELF."?pagina=verwijderen&reiscode=".$reiscode."&entry=".$value.">Verwijder foto</a></TD>"; 
                        $regelaantal++; 
                   
                    }
                    }
                                      
                }
                 
            } 
            
            // Tabel eindigen

  • Michali
  • Registratie: Juli 2002
  • Laatst online: 09-12-2025
Je weet toch wel dat je natsort nu voor ieder bestand uitvoert, en je bovendien voor iedere bestand de complete entrys (entries in goed engels) array naar de output schrijft? Verder is dit met een beetje debuggen wel op te lossen, het helpt waarschijnlijk al om je code gewoon normaal in te springen, dan is het wat leesbaarder.

Noushka's Magnificent Dream | Unity


  • man-o-script
  • Registratie: Juni 2001
  • Laatst online: 12:32
Als je inderdaad eerst de hele inhoud in een array gooit en die dan netjes sorteert dan moet het gewoon goed gaan. Bovendien zou dat een stuk sneller zijn ;)

PHP:
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
<?

   $path = "bla";
   $dh = @opendir($path);

   while (false !== ($file=@readdir($dh)))
   {
     if (substr($file,0,1)!=".")  
     {                          
         if (is_dir($path.$file))
           $dirs[]=$file.'/';  
         else
           $files[]=$file;
     }
   }
   @closedir($dh);

   if ($files)
     natcasesort($files); 
   if ($dirs)
     natcasesort($dirs);

   $files=array_merge($dirs,$files);  

   foreach ($files as $file) 
     echo $file;
  
?>

[ Voor 63% gewijzigd door man-o-script op 14-04-2006 17:25 ]

//


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 22-01 23:51

NMe

Quia Ego Sic Dico.

Ik heb het al eerder gezegd:
-NMe- schreef op woensdag 19 oktober 2005 @ 22:45:
Mooi dat het nu opgelost is, maar dit is dus niet hoe we hier in Programming & Webscripting graag topics zien. Een beetje debuggen moet je zelf kunnen: error_reporting op E_ALL zetten, @-tjes weglaten, enz. is vrij standaard en beiden staan dan ook vermeld in onze FAQ's. Volgende keer dus zelf even wat debuggen voordat je een topic opent. :)

Overigens staat er ook over debuggen -in het algemeen, maar ook specifiek voor PHP- een leuk stuk in onze FAQ. Misschien is het een goed idee om dat eens door te lezen. :)
dcnl, lees onze Quickstart, waar je al meerdere keren op gewezen bent, nou asjeblieft eens door. Het is expliciet niet de bedoeling dat iedereen hier zijn script maar post met de melding "hij doet ut niet!" zodat wij het dan voor je oplossen. :/

Check zometeen ook even je mail.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Dit topic is gesloten.