readdir probleem.

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Software developer

Werkzaamheden voor jou als software developer Voor een goede relatie in de regio Zwolle (meerdere locaties) zoeken wij een software developer die betrokken is bij de ontwikkelcyclus en verantwoordelijk is voor het testen en keuren van nieuwe en geoptimaliseerde software. In deze functie ben je in de implementatiefase de persoon die risico's beoordeelt en intern oplossingen aanbrengt om risico's te verkleinen. Binnen het ontwikkelteam van de software ben je een belangrijke schakel waar je intensief meewerkt met scrum. Het voorkomen van bugs in de programma's en het bevorderen van gebruiksvriendelijkheid voor eindklanten zijn voor jou een uitdaging en geeft voldoening

Bekijk vacature »

Traineeship Java Developer

Functie Wat ga je doen als Java Developer? Jij start via ons bij deze opdrachtgever als Trainee Java ontwikkelaar, tijdens het traineeship ga je in 1 jaar van de basis naar professioneel Java ontwikkelaar. Je start samen met een groep trainees, volgt de aangeboden cursussen en gaat aan de slag bij één van onze opdrachtgevers. Na een aantal maanden volgt de volgende opdracht. Door de groei in jouw rol kom je op steeds complexere opdrachten terecht. Veel afwisseling dus. Collega’s met ervaring helpen je bij deze groei en samen met jouw coach ga je een persoonlijke leerplan opzetten om jou

Bekijk vacature »

.NET Developer

Dit ga je doen Binnen het team bouw je aan een applicatie met andere .Net Developers, testers een Product Owner en een Business Analyst. Met het team wordt de backlog besproken. In overleg claim jij jouw deel en zorgt ervoor dat onderhoud en innovatie wordt gerealiseerd. Het project dat momenteel draait is het opgraden van de omgeving. Doorontwikkelen van de huidige applicatie; Overleggen met teamleden om de backlog te verdelen; Onderhouden van de huidige omgeving; Sparren met de business en het ophalen van nieuwe requirements. Hier ga je werken De organisatie is een van de grootste landelijke aanbieder van diverse

Bekijk vacature »

Applicatieontwikkelaar ABAP

Bedrijfsomschrijving Functieomschrijving De kandidaat zal worden ingezet binnen een van de DevOps teams binnen SCI (Service Centrum Inburgering) voor het ontwerpen en bouwen in SAP ABAP van de binnen SCI gebruikte informatiesystemen. Voornaamste voorkomende werkzaamheden zijn het aanpassen van en bouwen van nieuwe programmatuur in ABAP (Objects), waarbij ook gebruikt wordt gemaakt van DDD (Domain Driven Design) en het opstellen/aanpassen van Functionele/Technische ontwerpen. Daarnaast moeten ook formulieren met SAP Smartforms worden aangepast. Verder speelt de overgang naar SAP4Hana en SAP CPI. Vanwege het veelvuldig gebruik van SAP PO is kennis hiervan een pré. Achtergrond opdracht Momenteel werken meerdere DevOps teams

Bekijk vacature »

C#.NET developer

Functie Het development team bestaat momenteel uit vijf backend C#/.NET ontwikkelaars. Op dit moment zit één ontwikkelaar dedicated op de mobiele applicatie. Als team werk je samen aan het zelf ontwikkelde software platform. Dit bestaat uit zowel apps als websites. Om het systeem door meer dan honderdduizenden gebruikers wordt gebruikt is het bijna vanzelfsprekend dat de kwaliteit van het product hoog moet liggen. Het systeem bestaat uit drie projecten. Je werkt dus aan deze drie projecten waarbij de focus op z’n tijd verschuift. De technieken die worden toegepast zijn o.a. .NET Core, Xamarin, C# en MVC. Je zal dus met

Bekijk vacature »

Medior Java developer (fullstack)

Wat je gaat doen: Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

Low-code developer

Functie omschrijving Heb jij altijd al een training willen volgen in het buitenland? Voor een leuke opdrachtgever in omgeving Alphen ad Rijn zijn wij op zoek naar kandidaten die aan de slag willen als Low Code Developer! Beschik jij over HBO/WO nivo, bij voorkeur Informatica, maar een ander technische opleiding zoals bijv. wiskunde, natuurkunde is ook goed. Heb jij aantoonbare affiniteit met IT en ben jij gedreven, enthousiast, communicatief vaardig en klantgericht? Lees dan snel verder! Je wordt getraind tot een volwaardig Low Code Developer, het traject ziet er als volgt uit: Start 1e week januari, opleiding van 3 weken

Bekijk vacature »

Senior Front-end developer Consultancy

Functie Als front-end developer ga je aan de slag voor verschillende klanten, waarbij veel rekening wordt gehouden met waar je woont (dit is altijd binnen het uur), en word er gezocht naar een organisatie die past bij jou. Zowel qua persoonlijke ambities als de technische aansluiting. De opdrachten duren gemiddeld 1 à 2 jaar maar dit hangt ook af van je wensen. Je werkt in een teamverband voor een klant en zult nauw samenwerken met zowel eigen collega’s als die bij de klant werkzaam zijn. Ze zijn op zoek naar een technische front-end developer die ruime ervaring heeft in één

Bekijk vacature »

Senior Full Stack developer

Bedrijfsomschrijving tbd Functieomschrijving Full Stack Java Development bij Randstad Groep Nederland (HQ) Er is een vacature in het Corporate Client Solutions (CCS) team. Dit team is met een ander team net begonnen aan het project ‘Grip op Inhuur’. Het doel van dit project is de tevredenheid van onze leveranciers te verhogen en de efficiëntie van onze administratie te verbeteren. Onderdeel daarvan is een ‘Mijn-omgeving’ voor ZZP’ers en leveranciers. Naast dit nieuwe project werkt het team ook aan het onderhoud en verbeteren van een digitaal vacature management systeem waarmee dagelijks vele vacatures worden voorzien. Het team ontwikkelt zo veel mogelijk zelf

Bekijk vacature »

Junior .NET developer

Functie Als junior .NET ontwikkelaar start jij in ons development team met twee andere .NET developers. Als team werken jullie in scrum en is er iedere ochtend om 11.00 een standup. Jij krijgt als junior .NET ontwikkelaar een inwerk traject dat echt specifiek wordt ingericht op basis van wat jij nodig hebt. Een van de grootste pluspunten bij ons is dat wij binnen ons bedrijf veel (technische) vrijheid geven en juist eigen initiatieven erg stimuleren. Jouw werkzaamheden gaan er bij ons als volgt uit zien: – Het ontwikkelen van nieuwe software samen met interne en eventueel externe ontwikkelaars; – Het

Bekijk vacature »

Product Developer (M/F), Fulltime 40 h/week

A global Plantbased revolution – that is our dream. Maximising the protein transition – that is our mission. Producing and developing sustainable and delicious products – that is what we do. Ojah is a fast growing company with a mission and has the ambition to be the world leader in its field. To support this growth we are hiring new colleagues. People that would like to make a difference and dare to dream big. With currently a 150 colleagues proudly working on our exceptional products. Working in a dynamic surrounding that runs full speed ahead. We need you! Product Developer

Bekijk vacature »

Junior Front end developer

Functie Jij als developer gaat ons helpen onze producten verder te ontwikkelen en in te zetten in de markt. Op dit moment bestaat ons SaaS product uit 3 componenten die zowel los als in een pakket gekocht kunnen worden. Het gaat hier om een online kaartapplicatie, een workflow tool en een monitoring tool. Momenteel zijn wij 3 jaar geleden gestart met de ontwikkeling. De tech-stack waarmee we werken is voornamelijk Javascript, Vue.js en Python. Daarnaast gebruiken wij FaundaDB als database en werken we veel met GIS applicaties. De uitdaging die we momenteel hebben is dat we momenteel een intern team

Bekijk vacature »

C++ Ontwikkelaar

Functieomschrijving Ben jij als software ontwikkelaar toe aan een nieuwe uitdaging? Dan zoeken wij jou! Voor het maken van de procesbesturingssoftware gebruiken onze projectteams een in C++ en C# geschreven tool. Dit is een gedistribueerd object framework wat alle kernfuncties biedt voor een procesautomatisering. Verder zullen jouw werkzaamheden o.a. bestaan uit: Ontwerpen, programmeren en testen van product aanpassingen; Analyseren van vragen en wensen van gebruikers en deze vertalen naar een functioneel ontwerp; Inzichtelijk maken van voortgang omtrent softwarewerkzaamheden, o.a. door middel van SCRUM; Continu toetsen van het effect van nieuwe releases op andere tools en processen; Implementeren van nieuwe product

Bekijk vacature »

C# .NET Software Ontwikkelaar

Functie omschrijving Gezocht: Software Developer C# .NET voor een dynamische organisatie! Ben je onlangs afgestudeerd of ben je toe aan de volgende stap in je professionele carrière? Lees dan verder! We zijn momenteel op zoek naar een Software Developer die klaar is voor een nieuwe uitdaging en die onze eindklant in de regio Arnhem kan versterken. In deze functie werk je aan verschillende projecten en bezoek je vaak klanten. Je kunt een rol verwachten met veel uitdaging, diversiteit en verantwoordelijkheid. Bedrijfsprofiel Binnen welke organisatie ga je aan de slag? Je gaat werken bij een organisatie die zich specialiseert in het

Bekijk vacature »

Software Developer Mendix / Maatschappelijk Betrok

Dit ga je doen Het bouwen van de Mendix applicaties in samenwerking met jouw team of zelfstandig; Werken met Scrum methodiek; Ontwikkelen van vooruitstrevende oplossingen; Meedenken over nieuwe applicaties en ontwikkelingen; On the job eigen maken van de Mendix omgeving. Hier ga je werken Deze dynamische en snelgroeiende organisatie begeeft zich in de recyclingbranche. Zij nemen op duurzame en efficiënte manier de recycling op zich. Vanwege hun snelle groei zijn zij op zoek naar een young professional die zich graag wilt ontwikkelen als Mendix Developer. Je komt te werken binnen een IT team van +/- 15 medewerkers. Het huidige ‘vaste’

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

25/04/2024 16:25:50
 
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.