test-menu

Gesponsorde koppelingen

PHP script bestanden

  1. test-menu

« Lees de omschrijving en reacties

index.php voor de hoofdmap:

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
<?php
session_start();
error_reporting(E_ALL);
include 'functions.php';

$dir = array('.', 'peter', 'scripts', 'subsites'); // de directory die uitgelezen moet worden
?>

<!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=iso-8859-1" />
    <link href="style.css" type="text/css" rel="stylesheet" />
    <title>Index</title>
</head>
<body>
    <div style="float:left;" class="div">
        <?php
        foreach($dir as $dir) //pak 1 voor 1 de mappen uit de array $dir
        {
            if($handle = @opendir($dir))  //als de map gelezen kan worden
            {
                if($dir != '.') //als de map niet de actuele map is
                {
                    echo '<h3>'.$dir.'</h3>'; //echo de map die gelezen wordt
                }
                else //als de map wel de actuele map is
                {
                    echo '<h3>Deze map</h3>'; //echo dan 'Deze map', dat staat wat netter dan een '.'
                }
                
                echo '<table border="0" class="table">'; //en start een tabel

                while (false !== ($file = readdir($handle))) //zolang er gelezen kan worden
                {  
                    $bestand = $dir ."/". $file; //we maken van de variabelen $dir en $file 1 variabele
                    $ext = pathinfo($bestand); //en vragen wat info op over het bestand
                    
                    if(!isset($ext['extension'])) //als de extensie niet bestaat, is het dus een map
                    {
                        $ext['extension'] = 'dir'; //en dat geven we dus ook even aan
                    }
                    
                    maplezen(1, $bestand, $file, $ext); //voer de functie maplezen uit, met de goede variabelen
                }
                closedir($handle); //sluit de geopende map
            }
            else //als de map niet gelezen kan worden
            {
                echo '<br /><b>Error!</b> De map '.$dir.' kon niet worden gelezen.'; //echo dat
            }
            
            echo '</table>'; //en echo even het einde van de tabel
        }
        ?>

    </div>
    <div style="float:right; position: absolute; left: 225px; right: 0px; top: 8px;" class="div">
        <?php
            weergeefcontent1(); //voer de functie weergeefcontent1 uit
        ?>

    </div>
</body>
</html>


index.php voor een submap:

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
<div style="float:left;" class="div">
<?php
if(!isset($_GET['p']))
{

    $_GET['p'] = '.';
}


$dir = array($_GET['p']); // de directory die hij uit moet lezen
$extensions = array('php', 'dir'); // de extensie die weergegeven moeten worden
$verboden = array('image.php', 'index.php');

foreach($dir as $dir)
{

    $i = 0;
    
    if ($handle = @opendir($dir))  
    {

        $dir = str_replace('./', '', $_GET['p']);
        
        echo '<h3>'.$dir.'</h3>';
        echo '<table border="0" class="table">';

        while (false !== ($file = readdir($handle)))
        {
  
            $bestand = $file ;
            $ext = pathinfo($bestand);
            
            if(isset($ext['extension']))
            {

                $ext['extension'] = $ext['extension'];
            }

            else
            {
                $ext['extension'] = 'dir';
            }

            
            maplezen(2, $bestand, $file, $ext);

            $i++;
        }

        closedir($handle);  
    }

    else
    {
        echo 'De map '.$dir.' kon niet worden gevonden.';
    }

    echo '</table>';
}

?>

</div>
<div style="margin-left:230px" class="div">
    <?php
        weergeefcontent2();
    ?>

</div>


En ook nog functions.php

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
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
<?php
    $extensions
= array('php', 'dir', 'zip', 'jpg'); // de extensies die weergegeven moeten worden (dir voor map)
    $downloads = array('zip'); //bestanden die als download gegeven moeten worden (kunnen geen bestanden zijn die door de browser gelezen kunnen worden)
    $verboden = array('index.php', 'functions.php'); //bestanden die niet weergeven moeten worden
    $mapdirs = array('subsites'); //mappen waar alleen de submappen weergeven moeten worden
    $extensiecontrole = array('php', 'html', 'htm', 'txt'); //bestanden die geinclude en gehighlight kunnen worden
    $afbeeldingen = array('jpg', 'gif', 'jpeg', 'tiff', 'png'); //afbeeldingen
        
    function extensiecontrole($bestand) //maak een extensiecontrolefunctie aan
    {
        global $extensiecontrole;
        
        $info = pathinfo($bestand); //geef even wat info over het bestand
        $extensie = strtolower($info['extension']); //en maak even de variabele $extensie, door van de extensie kleine letters te maken
    
        if(in_array($extensie, $extensiecontrole)) //als de extensie in de array extensiecontrole is
        {
            return TRUE; //geef dan true terug
        }
        else //zo niet
        {
            return FALSE; //geef dan false terug
        }
    }
//einde functie extensiecontrole
    
    function mapcontroleren1($bestand, $file, $ext) //maak de functie mapcontroleren1 aan
    {
        global $dir; //pak de eerder aangemaakte $dir
        global $mapdirs; //en de eerder aangemaakte $mapdirs
        global $downloads; //en de eerder aangemaakte $downloads
        global $afbeeldingen; //en dan ook nog de array afbeeldingen
        
        if(in_array($dir, $mapdirs)) //als de $dir in $mapdirs voorkomt (als de opgegeven map aleen submappen moet weergeven)
        {
            if($ext['extension'] == 'dir') //als de extensie 'dir' is
            {
                echo '<tr>
                        <td width="125px" class="td">
                            <a href="'
.$bestand.'" target="_new">
                                '
. basename($file, '.'.$ext['extension']) .' ('.$ext['extension'].')
                            </a>
                        </td>
                    </tr>'
; //echo de map dan, met linkje tabelletje, enz...
            }
        }

        elseif(in_array($ext['extension'], $downloads)) //als de extensie in de download array voor komt
        {
            echo '<tr>
                    <td width="125px" class="td">
                        <a href="'
.$bestand.'" target="_new">
                            &bull; '
. basename($file, '.'.$ext['extension']) .' ('.$ext['extension'].')
                        </a>
                    </td>
                </tr>'
; //echo de file dan, met linkje tabelletje, enz...
        }
        else //als de $dir niet in $mapdirs voorkomt (als de opgegeven map alle bestanden moet weergeven)
        {
            echo '<tr>
                    <td width="125px" class="td">
                        &bull;  <a href="?p='
.$bestand.'">'. basename($file, '.'.$ext['extension']) .' ('.$ext['extension'].')</a>
                    </td>
                    <td width="30px" class="td">
                        <a href="'
.$bestand.'" class="nieuw" target="_new">New</a>
                    </td>'
; //echo dan de hele rotzooi, met een linkje erachter, waardoor het bestand in een nieuw venster geopend wordt
            
            if((!is_dir($bestand)) && (!in_array($ext['extension'], $afbeeldingen))) //als het bestand geen map is
            {
                echo '<td width="30px" class="td">
                        <a href="?h='
.$bestand.'" class="high">High</a>
                    </td>'
; //dan kunnen we zelfs nog een linkje maken naar het hightlight gedeelte
            }

            echo '</tr>'; //en echo even het ende van de tabelrij
        }
    }
//einde functie mapcontroleren1
    
    function mapcontroleren2($bestand, $file, $ext)//maak de functie mapcontroleren2 aan
    {
        global $dir; //pak de eerder aangemaakte $dir
        global $mapdirs; //en de eerder gemaakte $mapdirs
        global $downloads; //en als laatste de array downloads
        global $afbeeldingen; //en ook nog de array afbeeldingen

        if(in_array($ext['extension'], $downloads)) //als de extensie in de download array voor komt
        {
            echo '<tr>
                    <td width="125px" class="td">
                        <a href="'
.$_GET['p'].'/'.$bestand.'" target="_new">
                            &bull; '
. basename($file, '.'.$ext['extension']) .' ('.$ext['extension'].')
                        </a>
                    </td>
                </tr>'
; //echo de file dan, met linkje tabelletje, enz...
        }
        else //als de $dir niet in $mapdirs voorkomt (als de opgegeven map alle bestanden moet weergeven)
        {
            echo '<tr>
                    <td width="125px" class="td">
                        &bull;  <a href="?p='
.$_GET['p'].'&amp;p2='.$bestand.'">'. basename($file, '.'.$ext['extension']) .' ('.$ext['extension'].')</a><br>
                    </td>
                    <td width="30px" class="td">
                        <a href="'
.$_GET['p'].'/'.$bestand.'" class="nieuw" target="_new">New</a><br>
                    </td>'
; //echo dan de hele rotzooi, met een linkje erachter, waardoor het bestand in een nieuw venster geopend wordt
        
            if((!is_dir($_GET['p'].'/'.$bestand)) && (!in_array($ext['extension'], $afbeeldingen))) //als het bestand geen map is
            {
                echo '<td width="30px" class="td">
                            <a href="?p='
.$_GET['p'].'&amp;h2='.$_GET['p'].'/'.$bestand.'" class="high">High</a><br>
                        </td>'
; //dan kunnen we het highlighten
            }
    
            echo '</tr>'; //en echo weer het einde van de tabelrij
        }
    }
//einde functie mapcontroleren2
    
    function maplezen($a, $bestand, $file, $ext) //maak een functie aan voor het lezen van de map
    {
        global $extensions; //pak de eerder gemaakte $extensions
        global $verboden; //en de eerder gemaakte $verboden
        
        if((in_array($ext['extension'], $extensions)) && //als de extensie in de array $extensions voorkomt
           ($file != '.') && //en het bestand is niet '.'
           ($file != '..') && //en het bestand is ook niet '..'
           (!in_array($file, $verboden))) //en het bestand komt niet voor in de array verboden
        {
            if($a == 1) //als de functie is aangeroepen met parameter 1
            {
                mapcontroleren1($bestand, $file, $ext); //voer dan mapcontroleren1 uit
            }
            elseif($a == 2) //als de functie is aangeroepen met parameter 2
            {
                mapcontroleren2($bestand, $file, $ext); //voer dan mapcontroleren2 uit
            }
            else //als de functie niet is aangeroepen met parameter 1 of 2
            {
                echo '<b>Error!</b> De functie mapcontroleren is aangeroepen met een ongeldige parameter (geen 1 of 2), het laden is gestopt'; //geef een error
                exit; //en beindig het script, zodat we niet steeds bovenstaande melding krijgen
            }
        }
    }
//einde functie mapcontroleren
    
    function weergeefcontent1() //maak de functie weergeefcontent1 aan
    {
        global $afbeeldingen; //we roepen de arrat afbeeldingen aan
        global $ext; //en de array ext
        
        if(isset($_GET['p'])) //als ?p= bestaat
        {
            if(is_dir($_GET['p'])) //en als de ?p=... een bestaande map is
            {
                if(file_exists($_GET['p'].'/index.php')) //en als ?p=... /index.php bestaat
                {
                    include $_GET['p'].'/index.php'; //include ?p=... /index.php
                }
                else //als en als ?p=... /index.php niet bestaat
                {
                    echo $_GET['p'].' bevat geen index'; //echo dat de map geen index heeft
                }
            }

            elseif(file_exists($_GET['p'])) //als ?p=... geen bestaande map is, maar wel een bestaand bestand
            {
                $ext = pathinfo($_GET['p']); //we vragen weer is wat info op over het bestand
                
                if(extensiecontrole($_GET['p']) == TRUE) //als de extensie controle op ?p=... true geeft
                {
                    if(@!include $_GET['p']) //dan kunnen we het bestand includen, maar als dat toch niet goed gaat
                    {
                        echo 'kon niet includen'; //dan geven we dat even in een echo ;-)
                    }
                }

                elseif(in_array($ext['extension'], $afbeeldingen)) //als de extensie in de array afbeeldingen voorkomt
                {
                    $_GET['p'] = str_replace('./', '', $_GET['p']); //replace de ./ door niks
                    echo '<h2>'.$_GET['p'].'</h2><br /><br /><img src="'.$_GET['p'].'">'; //echo de fotonaam en de foto
                }
                else //als de extensie controle false geeft
                {
                    echo '<b>Error!</b> Bestanden met deze extensie kunnen niet worden weergeven in dit venster'; //echo dat er niet geinclude kan worden
                }
            }

            else //als het bestand uit de get p niet bestaat
            {
                echo 'file bestaat niet'; //echo dat het bestand niet bestaat
            }
        }

        elseif(isset($_GET['h'])) //als ?h= is geset
        {
            if(extensiecontrole($_GET['h']) == TRUE) //en de extensie controle geeft TRUE
            {
                highlight_file($_GET['h']); //dan kunnen we het bestand highlighten
            }
            else //als de extensiecontrole geen TRUE geeft
            {
                echo 'Kon niet highlighten'; //dan geven we echo dat er niet gehighlight kon worden
            }
        }

        else //als er geen ?p= of ?h= bestaat
        {
            echo 'kies een script'; //echo dan dat je een script kunt kiezen
        }
    }
//einde functie weergeefcontent1
    
    function weergeefcontent2() //maak de functie weergeefcontent2 aan
    {
        global $afbeeldingen; //we roepen de arrat afbeeldingen aan
        
        if(isset($_GET['p2'])) //als ?p2= bestaat
        {
            if(is_dir($_GET['p'].'/'.$_GET['p2'])) //en een combinatie van ?p= & ?p2= ook nog is een bestaande map geeft
            {
                if(file_exists($_GET['p'].'/'.$_GET['p2'].'/index.php')) //en de index bestaat ook nog
                {
                    include $_GET['p'].'/'.$_GET['p2'].'/index.php'; //include dan die index
                }
                else //en als er geen index bestaat
                {
                    echo $_GET['p2'].' bevat geen index'; //echo dan dat die map een index bevat
                }
            }

            elseif(file_exists($_GET['p'].'/'.$_GET['p2'])) //als een combinatie van ?p= & ?p2= geen map geeft, maar wel een bestand
            {
                $ext = pathinfo($_GET['p2']); //we vragen weer is wat info op over het bestand
                
                if(extensiecontrole($_GET['p'].'/'.$_GET['p2']) == TRUE) //en de extensie controle geeft TRUE
                {
                    include $_GET['p'].'/'.$_GET['p2']; //dan kunnen we het bestand includen
                }
                elseif(in_array($ext['extension'], $afbeeldingen)) //als de extensie in de array afbeeldingen voorkomt
                {
                    $_GET['p2'] = str_replace('./', '', $_GET['p'].'/'.$_GET['p2']); //replace de ./ door niks
                    echo '<h2>'.$_GET['p2'].'</h2><br /><br /><img src="'.$_GET['p2'].'">'; //echo de fotonaam en de foto
                }
                else //als de extensie controle false geeft
                {
                    echo 'Bestanden met deze extensie kunnen niet worden weergeven in dit venster'; //echo dan dat dat soort bestanden niet geinclude kan worden
                }
            }

            else //als het geen bestaand bestand of map is
            {
                echo 'file bestaat niet'; //tsjah, dan bestaat het niet hé, dus gooien we dat maar weer in een echo
            }
        }

        elseif(isset($_GET['h2'])) //als h2 is geset
        {
            if(file_exists($_GET['h2'])) //en het is een bestaand bestand
            {
                if(is_dir($_GET['h2'])) //en ook nog is een map
                {
                    if(file_exists($_GET['h2'].'/index.php')) //en de map bevat ook nog een index
                    {
                        highlight_file($_GET['h2'].'/index.php'); //dan kunnen we die highlighten
                    }
                    else //en als de map geen index bevat
                    {
                        echo '<b>Error!</b> Kan een map niet highlighten'; //echo dat dan
                    }
                }

                else //als het dan wel bestaat en zo, maar het is geen map
                {
                    if(extensiecontrole($_GET['h2']) == TRUE) //en de extensiecontrole geeft TRUE
                    {
                        highlight_file($_GET['h2']); //dan kunnen we het bestand highlighten
                    }
                    else //als de extensiecontrole geen TRUE terug geeft
                    {
                        echo 'Dit soort bestanden kunnen niet worden weergeven als code'; //echo dan dat dat soort bestanden niet gehighlight kunnen worden
                    }
                }
            }

            else //als het bestand niet bestaat
            {
                echo 'bestand bestaat niet'; //dan echoen we dat
            }
        }

        else //als er geen ?p= of ?h= bestaat
        {
            echo 'kies een script.<br /><br /> Script made by <a href="http://www.chess-web.nl/">Chess-web webdesign</a>'; //echo dan een standaard tekstje
        }
    }

?>


en dan nog een klein beetje voor de lay-out, style.css:

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
html {
    background-color: #FFFFFF;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 11px;
}
body {
    background-color: #FFFFFF;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 11px;
}
a {
    text-decoration: none;
    color:#000099;
}
.td {
    border: 0px solid #FFFFFF;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 11px;
}
a:link.high {
    color: #006600;
}
a:link.nieuw {
    color: #FF0000;
}
a:visited.high {
    color: #006600;
}
a:visited.nieuw {
    color: #FF0000;
}
a:hover.high {
    color: #006600;
    text-decoration: underline;
}
a:hover.nieuw {
    color: #FF0000;
    text-decoration: underline;
}
a:active.high {
    color: #006600;
}
a:active.nieuw {
    color: #FF0000;
}
.div {
    background-color: #FFFFFF;
    border-style:dotted;
    border-color:#000000;
    border-width:thin;
    padding: 5px;
    margin: 5px;
    font-size: 100%;
}
.table {
    background-color: #FFFFFF;
    border-collapse: collapse;
}
code {
    font-size: 12px;
}

 
 

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.