achtergrondkleur bij gelijke namen in mappen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Ruud van Dijk

Ruud van Dijk

10/10/2008 16:41:00
Quote Anchor link
ik ben een windows verkenner (look-a-like) aan het maken voor een fotoalbum echter het probleem is het volgende
De map die aangeklikt is krijg een achtergrond kleurtje.
Opzich goed maar niet als er meerdere mappen zijn met de zelfde naam want dan geeft hij die allemaal het zelfde kleurtje
Ik weet dat dat zit in de if controle maar ik kom er niet uit hoe ik ervoor kan zorgen dat alleen de gekklikte map de kleur heeft
screenshotje met het probleem zie:
http://www.plaatjesupload.nl/bekijken/992599.html


Bijhorende code voor de map structuur:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
        <div id="Map_structuur">
            
            <div style="background-color:#CCCCCC; padding: 5px 0px 5px 0px; margin: 0px 0px 10px 0px; width:280px; ">
            
                Mappen
            
            </div>
            
            <table cellpadding="0" cellspacing="0" border="0" width="280">
            
                <tr>
            
                    <td><a href="<?=$pagina?>?folder=#verkenner"><img src="<?php echo $map_icoontjes; ?>disk.gif" border="0"  style="vertical-align: middle; float:left; ">&nbsp;<?=$naam_root?></a></td>
                    
                </tr>
            <?
            function verkennen($pagina, $map, $folder, $laag, $parts, $last, $map_icoontjes)
                {

                $parts = explode("/", $_GET["folder"]);
                $aantal = count($parts);
                $dir = $map.$folder;
                
                if ($dh = opendir($dir))
                    {

                    while (($file = readdir($dh)) !== false)
                        {

                        if($file != "." && $file != "..")
                            {

                            if(filetype($dir . $file) == "dir")
                                {

                                ?>

                                
                    <tr height="20">
                    
                        <td><?
                                $not_empty
= "";
                                
                                if ($dh2 = opendir($dir.$file))
                                    {

                                    while (($file2 = readdir($dh2)) !== false)
                                        {

                                        if($file2 != "." && $file2 != "..")
                                            {

                                            if(filetype($dir.$file."/".$file2) == "dir")
                                                {

                                                $not_empty = $file2;
                                                }
                                            }
                                        }

                                    closedir($dh2);
                                    }

                                if(!$not_empty)
                                    {

                                    $i = -1;
                                    while($i < $laag)
                                        {

                                        ?>
<img src="<?php echo $map_icoontjes; ?>map_not_up<?
                                        if($file == $last)
                                            {

                                             if(($laag-1) == $i)
                                                {

                                                echo("_end");
                                                }
                                            }
?>
.gif" style="vertical-align: middle; float:left; "><?
                                        $i
++;
                                        }
                                    }

                                if($not_empty)
                                    {

                                    $i = 0;
                                    while($i < $laag)
                                        {

                                        ?>
<img src="<?php echo $map_icoontjes; ?>map_not_up.gif" style="vertical-align: middle; float:left; "><?
                                        $i
++;
                                        }

                                    ?>
<a href="<?php echo $pagina; ?>?folder=<?php echo rawurlencode($folder.$file); ?>/#verkenner"><img src="<?php echo $map_icoontjes; ?>map_up<?
                                        if($file == $last)
                                            {

                                            
                                                echo("_end");
                                                
                                            }
?>
.gif" style="vertical-align: middle; float:left;" border="0"></a><?
                                            
                                            
                                    }                                                                                                                                                                                                                
                                ?>
<a href="<?php echo $pagina; ?>?folder=<?php echo rawurlencode($folder.$file); ?>/#verkenner"><img src="<?php echo $map_icoontjes; ?>folder2.gif" border="0" style="vertical-align: middle; float:left;"><? if($parts[($aantal-2)] == $file) { ?><div style="background-color:#AAAAAA; float:left; margin: 1px 0px 1px 0px; "><? } ?>&nbsp;<?=$file?><? if($parts[($aantal-2)] == $file) { ?></div><? } ?></a></td>                                
                    </tr>
                                
                                <?
                                if($parts[$laag] == $file)
                                    {

                                    $laag_temp = $laag + 1;
                                    verkennen($pagina, $map, $folder.$file."/", $laag_temp, $parts, $not_empty, $map_icoontjes);
                                    }
                                
                                }
                            }
                        }

                    closedir($dh);
                    }
                }

                
            $laag = 0;
            $parts = explode("/", "/".$_GET["folder"]);    
            if ($dh2 = opendir($map))
                {

                while (($file2 = readdir($dh2)) !== false)
                    {

                    if($file2 != "." && $file2 != "..")
                        {

                        if(filetype($map.$file2) == "dir")
                            {

                            $not_empty = $file2;
                            }
                        }
                    }

                    closedir($dh2);
                }

                
            verkennen($pagina, $map, '', $laag, $parts, $not_empty, $map_icoontjes);
            ?>

            
            </table>
            
        </div>



Het gaat om dit stukje:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php if($parts[($aantal-2)] == $file) { ?><div style="background-color:#AAAAAA; float:left; margin: 1px 0px 1px 0px; ">


Als jullie meer code gedeeltes nodig hebben laat het dan weten dan post ik die er even bij


EDIT:
$parts = explode("/", $_GET["folder"]);

Als voorbeeldje hierbij met een dubbele naam waarin het dus fout gaat:
folder=01-01-2006%2Fict%2Falgemeen%2Falgemeen/


$file:
while (($file = readdir($dh)) !== false)

Oftwel dat is de filenaam die uigelezen word op dat moment in de loop
Gewijzigd op 01/01/1970 01:00:00 door Ruud van Dijk
 
PHP hulp

PHP hulp

28/04/2024 12:11:46
 
Jurgen assaasas

Jurgen assaasas

10/10/2008 16:56:00
Quote Anchor link
Je kunt ze bij het uitlezen een soort van id meegeven en dat id kleuren?
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.