readdir probleem.

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Software Programmeur

Functie omschrijving Voor een informele club in omgeving Delft zijn wij op zoek naar versterking. Ben jij op zoek naar een nieuwe uitdaging als Software Programmeur lees dan snel verder! Als ontwikkelaar kom je terecht op een afdeling van 6 medewerkers. Werkzaamheden Programmeur Je bent bezig met het ontwikkelen van software en webapplicaties. Je kunt technische klussen uitvoeren op locatie. Je onderhoudt contact met de projectleider om er zeker van te zijn dat een project goed verloopt. Je zult klanten ondersteunen. Verder zul je technische ontwerpen en gebruikersdocumentaties schrijven en deze onderhouden. Er wordt voornamelijk gewerkt met PHP, Java en

Bekijk vacature »

Front end developer Zorgplatform

Functie Jij als Front end ontwikkelen zult komen te werken samen met 1 PHP ontwikkelaar, 1 Python developer en een flexibele schil aan ontwikkelaars . Samen ga je ervoor zorgen dat de huidige producten doorontwikkeld worden. De Marketplace is geschreven in PHP Laravel en in de front end React. De roostersoftware is ontwikkeld in Python in combinatie met React in de front end. Jij zult als Front ender dus voornamelijk bezig zijn met het verbeteren van onze interfaces op onze verschillende producten. Momenteel ligt de uitdaging in het feit dat de roostersoftware breder schaalbaar moet worden zodat het voor meerdere

Bekijk vacature »

Senior Product Developer

Functieomschrijving Als senior Product Developer ben je verantwoordelijk voor bestaande mobiliteitsproducten en de ontwikkeling van nieuwe mobiliteitsconcepten. Met behulp van diverse klantonderzoeken, klantsessies en salesmeetings zorg je ervoor dat je de veranderende mobiliteitsbehoeften in de markt kent. Hier speel je op in door innovatieve, flexibele, efficiënte en duurzame vervoersoplossingen te bedenken, te ontwikkelen, te implementeren en uiteindelijk samen met Sales en Marketing collega’s in de markt te zetten. Je initieert en neemt deel aan (internationale en afdeling overschrijdende) projecten, vaak in de rol van projectleider. In die rol bewaak je de voortgang, coördineer je de activiteiten en zorg je voor

Bekijk vacature »

Frontend Developer Vue Nuxt HBO Javascript

Samengevat: Deze werkgever levert elke dag betere digitale gebruikerservaringen. Ben jij geschikt als frontend Developer? Heb je ervaring met Vue en Nuxt? Vaste baan: Front-End Developer HBO €3.100 - €4.600 Zij bieden opdrachtgevers een complete dienstverlening op gebied van ontwerpen en ontwikkelen van websites, zoekmachine optimalisatie, online adverteren, content marketing en conversie verbetering. Zij werken met een eigen ontwikkeld CMS. Bij bij hun werk je aan onze eigen bedrijfsapplicaties. Je ontwikkelt met ons de meest nieuwe software. Wij blinken uit als het gaat om de inzet van technologie. Deze werkgever staat open voor elke nieuwe trend. Onze systemen zijn groot

Bekijk vacature »

Oracle APEX developer

Wat je gaat doen: Als Oracle APEX ontwikkelaar bij DPA werk je samen met collega’s aan de meest interessante opdrachten. Je zult je ervaring met SQL, PL/SQL, JavaScript, HTML en CSS inzetten om wensen van opdrachtgevers te vertalen naar technische oplossingen. Je werk is heel afwisselend, omdat DPA zich niet beperkt tot een specifieke branche. Zo ben je de ene keer bezig binnen de zorgsector, de andere keer is dit bij de overheid. Wat we vragen: Klinkt goed? Voor deze functie breng je het volgende mee: Je hebt een hbo- of universitaire opleiding afgerond Je hebt 2 tot 5 jaar

Bekijk vacature »

PHP Developer - Draag bij aan de maatschappij!

Bedrijfsomschrijving Wil jij als applicatieontwikkelaar deel uitmaken van een gedreven ontwikkelteam en werken aan innovatieve producten? Dan hebben wij dé uitdaging voor jou! Wij zijn op zoek naar een enthousiaste collega die samen met ons de technische ondergrond van onze producten verder wil ontwikkelen met behulp van PHP. Met jouw expertise geef je de finishing touch aan onze producten om jezelf steeds opnieuw weer te verrassen. Functieomschrijving Bij ons staan innovatie en creativiteit centraal. Wij zijn op zoek naar een enthousiaste PHP ontwikkelaar die nieuwe ideeën en inzichten kan inbrengen en daarmee zichzelf en het team verder kan laten groeien.

Bekijk vacature »

Ervaren PHP ontwikkelaar

Functie Jij als PHP ontwikkelaar komt te werken in een team van 4 andere PHP ontwikkelaars. Je zult je voornamelijk bezig houden met: – Het ontwikkelen van nieuwe features – Doorontwikkelen van de API – Nadenken over de technische infrastructuur – Datakwaliteit Samen met het team ben jij verantwoordelijk voor de verdere ontwikkeling van de software en om de positie als marktleider in Europa te behouden. Ze werken volgens SCRUM in 2 wekelijkse sprints, werken met Jira voor alle tickets en communiceren veel via Slack. Eisen • Minimaal 3 jaar ervaring als back end developer • Je hebt affiniteit met

Bekijk vacature »

Back-end Software Developer

Functie omschrijving Ben jij op zoek naar een uitdagende development functie bij een klein gespecialiseerd softwarebedrijf? Wil jij graag hybride werken (combi tussen thuis + kantoor), loop jij warm voor maatwerk software en voel jij je prettig in een informele cultuur? Zoek dan niet verder! Reageer direct! Voor een gewilde werkgever in omgeving Tilburg zoeken wij een back-end software developer met een aantal jaar werkervaring. Je gaat werken voor een klein softwarebedrijf dat gespecialiseerd is in de ontwikkeling van integratiesoftware. Jouw werkzaamheden zien er als volgt uit: In een klein team met 4 ontwikkelaars houd jij je bezig met afwisselende

Bekijk vacature »

Software developer

Functie Momenteel zijn ze op zoek naar een Software developer die, veelal fullstack, mee gaat werken aan de ontwikkeling van de producten en zo helpt aan de uitvoering van hun ontwikkelprojecten. Je komt te werken binnen hun development team bestaande uit 6 ontwikkelaars. Ze staan zowel open voor meer junior als medior/senior developers. Je kunt snel veel verantwoordelijkheid krijgen en doorgroeien binnen het bedrijf. Bovendien ben je betrokken bij het bepalen van de product roadmap en de inbreng van (nieuwe) technologieën. De applicaties waaraan je werk worden gebruikt op onderwijsinstellingen door heel Nederland. De tech-stack bestaat voornamelijk uit Laravel (PHP),

Bekijk vacature »

Senior PHP Developer

As a Senior PHP Developer at Coolblue, you ensure that our webshops work as optimal as possible and you choach other colleagues on the hard and soft skills. How do I become a Senior PHP Developer at Coolblue? As a PHP Developer you work together with other development teams to make our webshop work as optimal as possible and to make our customers happy. Although you are a PHP Developer, you are not averse to a little TypeScript or other technologies that might be used. Would you also like to become a PHP Developer at Coolblue? Read below if the

Bekijk vacature »

Ervaren PHP developer gezocht!

Functie Het team bestaat inmiddels uit zo’n 25 collega’s met specialisten op het gebied van development, data(analyse), marketing, infrastructuur en finance. Ze hebben een supermodern pand en bieden hiernaast veel vrijheid en verantwoordelijkheid. Ze doen er alles aan om jou op te gemak te stellen. Zo kun je je eigen werkplek inrichten naar persoonlijke wensen, maar gaan ze bijvoorbeeld ook jaarlijks met elkaar wintersporten en zijn er andere leuke uitjes. Als onderdeel van één van de scrumteams ga je aan de slag, samen ben je medeverantwoordelijk voor het doorontwikkelen van hun business applicatie waar het traffic team dagelijks mee werkt.

Bekijk vacature »

Traineeship Full Stack Java developer

Dit ga je doen Start jij op 7 augustus bij de Experis Academy dan kickstart jij jouw IT-carrière! We leiden je op tot een gewilde Full Stack Java Developer met alle kennis en vaardigheden die nodig zijn om de arbeidsmarkt te betreden. Wat kun je verwachten, hoe zit een dag in het leven van een Trainee eruit? Periode 1 Als Full Stack Java Developer Trainee volg je vanuit huis een op maat gemaakte onlinetraining die in het Engels wordt gegeven. De tijd die je kwijt bent aan het volgen van de training kun je vergelijken met een fulltime werkweek. In

Bekijk vacature »

Senior Airport Developer ( System engineer)

De functie Nice to know (you) De nieuwe A-pier wordt de duurzaamste van Schiphol. Als deze af is ligt er 4000 vierkante meter zonnepanelen op het dak. En de toiletten? Die spoelen door met regenwater. we gaan ervoor: het creëren van de meest duurzame en hoogwaardige luchthavens ter wereld. een toekomstbestendig en duurzaam Schiphol. Daar werken we elke dag hard aan in team Development & Sustainability. Jij bent regisseur, expert én aanjager van de ontwikkeling van Schiphol. Connecting your world Hoe maak je de ambities en doelstellingen van Schiphol concreet in een project? De waarde voor Schiphol naar eisen die

Bekijk vacature »

Belastingdienst - Freelance Applicatieontwikkelaar

Startdatum: 01.06.2023 Richttarief: €65,00 - €75,00 Duur van de opdracht: 6 maanden Uren per week: 36 Taal: Nederlands vereist! Gelieve in het Nederlands te solliciteren. Hybride. Kantoordagen in Utrecht, incidenteel in Apeldoorn Functieomschrijving: De afdeling IV – Generieke Voorzieningen – Interactie Online is onderdeel van de keten Interactie. De missie van de keten is: “het faciliteren van de interactie met alle burgers, bedrijven en hun vertegenwoordigers om hen in staat te stellen aan hun fiscale verplichtingen te voldoen en aanspraak te maken op hun rechten.” De afdeling Interactie Online heeft een belangrijke bijdrage binnen deze keten. Dit door het ontwikkelen

Bekijk vacature »

Software Ontwikkelaar

Functie omschrijving Voor een echt familiebedrijf in de omgeving van 's-Hertogenbosch ben ik op zoek naar een Software Developer. Jij gaat in de functie van Software Developer werken met C# en .NET framework Jij gaat maatwerk software ontwikkelen en softwareoplossingen creëren. Daarnaast optimaliseer je de bestaande software. Oplossingen waar de klant echt iets aan heeft, jij krijgt er energie van op dit te realiseren. Je gaat werken in een Microsoft omgeving(ASP.NET) en gebruikt daarnaast C# en MVC. Samen met het huidige IT team binnen deze organisatie verwerk je de wensen van de klant tot een (eind)product. Bedrijfsprofiel Deze organisatie is

Bekijk vacature »
Remco

remco

17/02/2008 15:22:00
Quote Anchor link
Beste PHP'ers,

Ik ben bezig met het bouwen van een script dat een map uitleest en de submappen weergeeft. Als je dan op de link naar 1 van de mappen klikt moet je de foto's uit die map te zien krijgen. Het is dus een soort van fotoboek.
Het werkt wel redelijk maar ik zit nog wel met een probleem.
Ik heb het script in een map getest waar enkele mappen inzaten die uitgelezen moesten worden.
Ik heb toen readdir('../mapnaam/') gedaan. Dit werkt goed. Doe ik nu echter
readdir('mapnaam/') of readdir('/mapnaam/') dan wordt die map niet juist uitgelezen. Er zit namelijk wel een map in de andere map maar die toont hij niet.

Ik heb nu al vanalles geprobeerd maar kom er niet uit. Ik krijg ook geen foutmeldingen dus daar kan ik ook niets mee.
Ziet iemand misschien het probleem?
script:
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
<?php
if(isset($_GET['mapn'])){
    echo 'Lees map "'.$_GET['mapn'].'" uit<br />';
    $img = array();
    $handle=opendir($_GET['mapn']);
    while (false!==($file = readdir($handle))) {
        if ($file != "." && $file != "..") {
            if(eregi("\.jpe?g$", $file) OR eregi("\.gif$", $file) OR eregi("\.png$", $file) OR eregi("\.JPE?G$", $file) OR eregi("\.GIF$", $file) OR eregi("\.PNG$", $file)){
                echo '<img src="'.$_GET['mapn'].'/'.$file.'" alt="'.$file.'" /><br /><br />';
            }
        }
            
    }

    closedir($handle);    
}

else {
    $handle=opendir('tumb/');
    while (false!==($file = readdir($handle))) {
        if (is_dir($file) && $file != "." && $file != "..") {
            echo '<img src="folder.gif" />&nbsp;<a href="fotoboek.php?mapn='.$file.'">'.$file.'</a><br />';
        }
    }

    closedir($handle);
}

?>

Edit:

Topic staat in verkeerde categorie kan iemand hem verplaatsen
Gewijzigd op 01/01/1970 01:00:00 door Remco
 
PHP hulp

PHP hulp

17/02/2025 16:09:18
 
Jan Koehoorn

Jan Koehoorn

17/02/2008 15:26:00
Quote Anchor link
remco schreef op 17.02.2008 15:22:
Ik heb toen readdir('../mapnaam/') gedaan. Dit werkt goed. Doe ik nu echter
readdir('mapnaam/') of readdir('/mapnaam/') dan wordt die map niet juist uitgelezen.

Dat is logisch. Als ../ wel werkt, dan komt dat omdat je een mapniveau omhoog gaat. Hou die ervoor en je zit goed.
 
Remco

remco

17/02/2008 15:35:00
Quote Anchor link
Ik hoop dat ik je goed begrijp Jan.
Als ik bijvoorbeeld de volgende mapstructuur heb
map/
map/fotoboek.php
map/submap_1/
map/submap_1/Foto_1.jpg
map/submap_2/
map/submap_2/Foto_2.jpg
....
nu doe ik
readdir('../map/'); wat vervolgens goed werkt.

Heb ik echter de onstaande structuur:
map/
map/fotoboek.php
map/sub/submap_1/
map/sub/submap_1/Foto_1.jpg
map/sub/submap_2/
map/sub/submap_2/Foto_2.jpg
....
en dan doe ik
readdir('/sub/') of readdir('sub/') dan krijg ik niets.

Ik weet niet of het een beperking van readdir is of dat er ergens anders iets vaags fout gaat maar het werkt bij mij iig niet.
 
Jan Koehoorn

Jan Koehoorn

17/02/2008 15:41:00
Quote Anchor link
In het tweede geval zou je moeten doen: readdir ('../map/sub/');
Edit:
Hee, wacht eens. readdir ('sub/') zou ook moeten werken. Ik moet op pad, dus iemand anders helpt je wel verder ;-)
Gewijzigd op 01/01/1970 01:00:00 door Jan Koehoorn
 
PHP Newbie

PHP Newbie

17/02/2008 15:49:00
Quote Anchor link
Probeer hier eens mee te werken..
 
Remco

remco

17/02/2008 15:56:00
Quote Anchor link
dit werkt ook niet :(
Krijg wederom geen error en een lege pagina.

Edit:

Zal even naar bovenstaande link kijken

Edit:

Edit 2:
Ik heb het probleem misschien al gevonden.
Als ik namelijk readdir('../map/sub/') doe dan zal dat nog wel goed gaan (vermoed ik). Het probleem zit hem echter in het feit dat ik vervolgens controleer of het bestand wel een map is. Ik denk dat daar de fout zit maar ik heb nog geen idee hoe ik dit zou moeten veranderen.
Gewijzigd op 01/01/1970 01:00:00 door remco
 
Remco

remco

18/02/2008 20:19:00
Quote Anchor link
bump....
Heeft niemand een idee?
 
Jan Koehoorn

Jan Koehoorn

18/02/2008 20:21:00
Quote Anchor link
Die is_dir gaat vaak fout. Ik zal eens checken.
 
Dennis

Dennis

18/02/2008 20:26:00
Quote Anchor link
Remco.... heb er 1 klaar voor je.
Aan te passen naar eigen behoefte. Eerlijkheishalve, ik heb dit NIET zelf geschreven, maar werkt goed.

index.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
<?php
echo '<b>titel van je overzicht pagina - Impressie </b>';

include('configuratie.php');
include('functies.php');

//Als er een map opgegeven is in de $_GET parameters kijken we of die leeg is en zorgen ervoor dat er geen misbruik van ons script gemaakt kan worden.
if(isset($_GET['map']) && !empty($_GET['map']))
{

    $map = str_replace(array(".", "\\", ":"), " ", $_GET['map']).'/';
}
else{
    $map = $beginmap.'/';
}


//Die get variabele halen we uit elkaar zodat we alle losse mappen hebben in een array.
$mappen = arraySchoonmaken(explode('/', $map));
$aantal = count($mappen)+1;

if($mappen[0] != $beginmap)
{

    echo 'Ey kappen nou! Je maakt hem kapot!';
    exit();
}


//Dit gedeelte snap ikzelf niet eens meer... vraag mij niet wat ik hier doe en hoe en waarom ik dat doe. Het doet iets en het werkt. Ik denk dat we het daar maar bij moeten laten.
for($z = 1; $z < $aantal; $z++)
{

    $temp = NULL;
    for($y = 0; $y < $z; $y++)
    {

        if($mappen[$y] == $beginmap)
        {

            $temp .= $mappen[$y];
        }
else{
            $temp .= '/'.$mappen[$y];
        }
    }

    echo ' >> <a href="?map='.$temp.'">'.ucfirst($mappen[$z-1]).'</a>';
}

echo '<hr>';

if(@$dir = opendir($map))
{

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

        //Standaard krijgen we een . en een .. te zien, die willen we niet hebben.
        if ($file != "." && $file != "..")
        {

            //Als $file een bestand is is...
            if(is_file($map.$file))
            {

                //... halen we de extensie eruit en checken of dat een jpeg is.
                $bestandsgegevens     = getimagesize($map.$file);
                $extensie             = $bestandsgegevens['mime'];
            
                if($extensie == 'image/jpeg' || $extensie == 'image/gif' || $extensie == 'image/png')
                {

                    //Toevoegen aan de bestanden array!
                    $bestanden[] = $file;
                }                        
            }

                
            //Als $file een map is...    
            if(is_dir($map.$file))
            {

                //... kijken we eerst of het niet onze thumbs of thumbsgroot map is.
                if($file != 'thumbs' && $file != 'thumbsgroot')
                {

                    //Toevoegen aan de directories array!
                    $directories[] = $file;
                }                
            }
        }
    }

    closedir($dir);
}
else{
    //Wat doe je! Je maakt hem kapot! Bel 112!!!!1111oneoneoneone
    echo '<p>Sorry, er gaat iets mis met het uitlezen van de directory!</p>';
}



//Als de directories array niet leeg is gaan we die eerst laten zien zodat mensen verder kunnen.
if(!empty($directories))
{

    foreach($directories as $directory)
    {

        echo '<img src="afbeeldingen/folder.gif" class="centreren"><a href="?map='.$map.$directory.'">'.ucfirst($directory).'</a><br>';
    }

    echo '<hr>';
}


//Als iemand niet enkele één foto opvraagt laten we de thumbnails zien.
if(!isset($_GET['foto']))
{

    if(!empty($bestanden))
    {

        if(isset($_GET['paginanr']))
        {

            if(is_numeric($_GET['paginanr']))
            {

                $paginanr = $_GET['paginanr'];
            }
        }
else{
            $paginanr = 0;
        }

        
        $aantalfotos = count($bestanden);
        
        //Als er meer dan 10 fotos zijn krijgen we een volgende/vorige knopje.

        if($aantalfotos > $afbeeldingenperpagina)
        {

            echo '<div style="text-align: center; margin: 10px;">';
            
            //Hebben we een vorige knopje nodig?
            if ($paginanr > 0)
            {

                echo '<a href="?paginanr='.($paginanr - 1).'&amp;map='.substr_replace($map,"",-1).'" title="Ga naar pagina '.($paginanr).'">&lt;&lt; Vorige</a>';
            }
else{
                echo '&lt;&lt; Vorige';
            }

    
            //We laten even zien op welke pagina we zitten en hoeveel er zijn.
            echo '&nbsp;&nbsp;&nbsp; Pagina '.ceil($paginanr+1).' van '.ceil($aantalfotos/$afbeeldingenperpagina).' &nbsp;&nbsp;&nbsp;';
        
            //Hebben we een volgende knopje nodig?
            if ($paginanr < floor(($aantalfotos -1)/$afbeeldingenperpagina))
            {

                echo '<a href="?paginanr='.($paginanr + 1).'&amp;map='.substr_replace($map,"",-1).'" title="Ga naar pagina '.($paginanr + 2).'">Volgende &gt;&gt;</a><br>';
            }
else{
                echo 'Volgende &gt;&gt;<br>';
            }
    
                
            echo '</div>';
        }

                
        //Don't ask, hogere wiskunde vereist. Ik weet zelf niet meer wat ik deed maar het werkt...
        for($fotonr = ($paginanr * $afbeeldingenperpagina); $fotonr <= ($paginanr * $afbeeldingenperpagina) + ($afbeeldingenperpagina) -1 && $fotonr < count($bestanden); $fotonr += 1)
        {

            //Okay.. wat als er geen thumbsmap is?
            if(!is_dir($map.'thumbs/'))
            {

                //Dan maak je die natuurlijk!
                mkdir($map.'thumbs/',0777);
            }

            
            //Okay... wat als er geen thumbnail is?
            if(!file_exists($map.'thumbs/'.$bestanden[$fotonr]))
            {

                //Dan maak je die natuurlijk!
                thumbnail($map,'thumbs/', $bestanden[$fotonr],$breedte_klein,$hoogte_klein);
            }

            
            //De thumbnail bestaat... wat moet ik doen?
            if(file_exists($map.'thumbs/'.$bestanden[$fotonr]))
            {

                //Jeetje man, kan je helemaal niks zelf? Laat die foto dan zien mafkees!
                echo '<a href="?map='.substr_replace($map,"",-1).'&amp;foto='.($fotonr+1).'" ><img src="'.$map.'thumbs/'.$bestanden[$fotonr].'" class="thumbs" border="0"></a>&nbsp;&nbsp;';
            }
        }
    }
else{
        //Duidelijk, de map is leeg!
        if(empty($directories))
        {

            echo '<p>Sorry, deze map is leeg!</p>';
        }
    }
}
else{
    //Stel dat iemand één enkele foto opvraagt! STEL JE VOOR!
    
    if(is_numeric($_GET['foto']))
    {

        $fotonr = $_GET['foto'] -1;
        
        if(@is_file($map.$bestanden[$fotonr]))
        {

            echo '<div style="text-align: center; margin: 10px;">';
            
            if ($fotonr > 0)
            {

                echo '<a href="?map='.substr_replace($map,"",-1).'&amp;foto='.$fotonr.'" title="Ga naar foto '.$fotonr.'">&lt;&lt; Vorige</a>';
            }
else{
                echo '&lt;&lt; Vorige';
            }

    
            echo '&nbsp;&nbsp;&nbsp;Foto '.($fotonr+1).' van '.count($bestanden).'&nbsp;&nbsp;&nbsp;';
        
            if ($fotonr < count($bestanden) -1)
            {

                echo '<a href="?map='.substr_replace($map,"",-1).'&amp;foto='.($fotonr+2).'" title="Ga naar foto '.($fotonr+2).'">Volgende &gt;&gt;</a><br>';
            }
else{
                echo 'Volgende &gt;&gt;<br>';
            }
    
            
            echo '</div>';
            
            //Als er geen map bestaat kan je die aanmaken...
            if(!is_dir($map.'thumbsgroot/'))
            {

                    mkdir($map.'thumbsgroot/',0777);
            }

            
            //Als de thumbnail niet bestaat wil ik dat je hem aanmaakt!
            if(!file_exists($map.'thumbsgroot/'.$bestanden[$fotonr]))
            {

                thumbnail($map,'thumbsgroot/', $bestanden[$fotonr],$breedte_groot,$hoogte_groot);
            }

            
            //De grotere thumbnail bestaat... laat maar zien die handel!
            if(file_exists($map.'thumbsgroot/'.$bestanden[$fotonr]))
            {

                echo '<div style="text-align: center;"><a href="'.$map.$bestanden[$fotonr].'" target="_blank" ><img src="'.$map.'thumbsgroot/'.$bestanden[$fotonr].'" class="groot" title="'.$bestanden[$fotonr].'" border="0"></a>';    
                $afmeeting = getimagesize($map.$bestanden[$fotonr]);
                echo '<br><br><a href="'.$map.$bestanden[$fotonr].'" target="_blank">Origineel ('.$afmeeting[0].' x '.$afmeeting[1].')</a></div>';
            }
        }
else{
            echo '<p>Sorry, deze foto bestaat niet!</p>';
        }    
    }
}

?>


functies.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
<?php
//functie, voor het opruimen van een array.
function arraySchoonmaken($array) {
   foreach ($array as $index => $value) {
       if (empty($value)) unset($array[$index]);
   }

   return $array;
}


//functie, voor het maken van een afbeelding.
function thumbnail($map,$thumblocatie,$bestandsnaam,$breedte,$hoogte)
{

    list($breedte_origineel, $hoogte_origineel, $type) = getimagesize($map.$bestandsnaam);

    //We weten de breedte/hoogte van een afbeelding, we weten ook hoe groot ze moeten worden en gaan dus lekker rekenen!
    
    if (($breedte_origineel < $hoogte_origineel) && ($breedte > $hoogte)) {
        $breedte = ($hoogte / $hoogte_origineel) * $breedte_origineel;
    }
else{
        $hoogte = ($breedte / $breedte_origineel) * $hoogte_origineel;
    }

    
    //Maak een nieuwe afbeelding aan met de juiste breedte en hoogte, openen de originele en gebruik de functie imagecopyresampled om daar een mooie afbeelding van te maken.
    $afbeelding = imagecreatetruecolor($breedte, $hoogte);
    
    switch ($type)
    {
        case
1:
            //gif
            $afbeelding_origineel = imagecreatefromgif($map.$bestandsnaam);
            imagecopyresampled($afbeelding, $afbeelding_origineel, 0, 0, 0, 0, $breedte, $hoogte, $breedte_origineel, $hoogte_origineel);
            imagegif($afbeelding, $map.$thumblocatie.$bestandsnaam);
            break;
        case
2:
            //jpg
            $afbeelding_origineel = imagecreatefromjpeg($map.$bestandsnaam);
            imagecopyresampled($afbeelding, $afbeelding_origineel, 0, 0, 0, 0, $breedte, $hoogte, $breedte_origineel, $hoogte_origineel);
            imagejpeg($afbeelding, $map.$thumblocatie.$bestandsnaam,80);
            break;
        case
3:
            //png
            $afbeelding_origineel = imagecreatefrompng($map.$bestandsnaam);
            imagecopyresampled($afbeelding, $afbeelding_origineel, 0, 0, 0, 0, $breedte, $hoogte, $breedte_origineel, $hoogte_origineel);
            imagepng($afbeelding, $map.$thumblocatie.$bestandsnaam);
            break;
    }  
}

function
remove_directory($dir)
{

    if(@$handle = opendir($dir))
    {

        while(false !== ($item = readdir($handle)))
        {

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

                if(is_dir($dir.'/'.$item))
                {

                     remove_directory($dir.'/'.$item);
                   }
else{
                     unlink($dir.'/'.$item);
                   }
            }
        }

        closedir($handle);
        rmdir($dir);
    }
}


?>


configuratie.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
<?php
//We maken 2 array's, eentje voor de bestanden en een voor de mappen. We geven ook aan in welke map we de afbeeldingen kunnen vinden.
$directories             = array();
$bestanden                = array();
$beginmap                = 'Overzicht';

//Een aantal variabelen die je naar eigen behoefte kunt aanpassen.
$hoogte_klein             = 150;
$breedte_klein             = 100;

$hoogte_groot             = 600;
$breedte_groot             = 380;

$afbeeldingenperpagina    = 25;
?>


Al deze bestanden gooi je bijv in een map fotoalbum...daarin mappen met de namen van je diverse albums etc etc etc.

Good luck with it.

Mucho compleet dit, maar na alle hulp die ik kreeg met een ander script van iedereen ben ik blij dat ik wat terug kan doen. :-)
 
Remco

remco

18/02/2008 20:33:00
Quote Anchor link
@Dennis
Mooi dat je dit wil delen maar hier ben ik, in eerste instantie, nog niet mee geholpen. Ik ben misschien wat eigenwijs maar ik wil het op mijn eigen manier proberen op te lossen en als het even kan zelf te scripten zodat ik ook begrijp wat er gebeurt. Verder zou ik bij dit fotoboek eerst nog het tumbnail gedeelte moeten slopen aangezien ik dat niet nodig heb.
 
Jan Koehoorn

Jan Koehoorn

18/02/2008 20:37:00
Quote Anchor link
Als ik het script in een testpagina gooi en ik doe in de url bijv:


http://www.mijnpagina.nl/test.php?mapn=/images/thumbs

dan werkt hij uitstekend?
 
Remco

remco

18/02/2008 21:05:00
Quote Anchor link
Dat werkt wel gewoon.
 



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.