readdir probleem.

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Oracle Apex Developer

Dit ga je doen Jouw taken bestaan uit: Het bouwen maatwerk Oracle applicaties voor Europese business units; Het implementeren van de nieuwste technieken om te blijven innoveren; Actief meedenken en aandragen van verbetervoorstellen. Hier ga je werken Deze organisatie in de regio Veenendaal is een van wereld grootste retailers met ruim 16.000 winkels in 27 markten en jaarlijks ruim 5,3 miljard klanten die winkelen bij een van hun welbekende retailmerken. Binnen de organisatie is er een IT Group actief die dient als IT Service Provider voor de hele organisatie en waar dagelijks IT'ers werken aan state-of-the-art IT oplossingen. Dit doen

Bekijk vacature »

Lead developer

Functie Als lead developer wordt jij verantwoordelijk voor een van onze development teams. Samen met de Software Architect bewaak jij de kwaliteit en uitvoering van onze complexe vraagstukken. Daarnaast ben jij verantwoordelijk voor het inschatten, designen en ontwikkelen van middelgrote tot grote veranderingen in de software. Ook coördineer jij het proces rondom complexe technische vraagstukken. Verder bestaat jouw takenpakket uit het volgende: – Het aansturen van jouw development team; – Het begeleiden van Junior Software Engineers; – Het maken van technische analyses m.b.t. nieuwe aanvragen en het tijdsbestek inschatten voor de uitvoering hiervan; – Het uitvoeren van de ontwikkeling van

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 »

.NET developer

Klaar voor een nieuwe uitdaging? Welke technologieën gaan schuil achter de dagelijkse energievoorziening? Als senior .NET developer bij Kenter maak jij samen met je team het verschil, zowel voor de interne organisatie als voor eindklanten. Samen bouwen jullie aan innovatieve dienstverlening met behulp van de nieuwste technologieën en tools. Het is een functie met veel vrijheid, goede arbeidsvoorwaarden én je draagt jouw steentje bij aan de energietransitie. Klinkt dit als iets voor jou? Lees dan verder of solliciteer direct! Wat ga je doen als senior .NET developer? Als senior .NET developer bij Kenter (onderdeel van Alliander) ben je van onschatbare

Bekijk vacature »

Front-end Developer Angular

Dit ga je doen Jouw taken als Front End Developer bestaan uit: Het ontwikkelen van maatwerkoplossingen voor klanten; Het meedenken over nieuwe tools en technieken; Het begeleiden van junioren; Het meewerken aan diverse projecten; Het meedenken in UX/UI design. Hier ga je werken Als Front-End Developer ga je in een Scrum team aan de slag met de nieuwste digitale technologieën om klanten en overheden over de hele wereld te ondersteunen met het ondersteunen van hun software, veelal op het gebied van watermanagement en infra. Door middel van real-time data in combinatie met voorspellende analyses, AI, Deep Learning en Machine Learning

Bekijk vacature »

Senior Java developer

Als Senior Developer bij Sogeti ben je onderdeel van onze toonaangevende best-gecertificeerde Java community. Deze bestaat uit ruim 100 gepassioneerde professionals. In teamverband lever je mooie prestaties. Daarmee draag je aan bij de meerwaarde die wij leveren aan onze top-opdrachtgevers. Geen werkdag is hetzelfde! Je bent voortdurend bezig met het oplossen van allerlei complexe vraagstukken binnen bedrijfskritische systemen. Een voorbeeld hiervan is een cliënt-volgsysteem bij Reclassering Nederland. Andere klanten waar wij onder andere voor werken: KPN, Philips, Nationale-Nederlanden, Kamer van Koophandel, ABN AMRO, Bovemij, Aval en de Nationale Politie. Natuurlijk krijg jij de mogelijkheid je verder te certificeren in dit vakgebied. We

Bekijk vacature »

Front-end Developer

Do you want to work with the latest technologies on the development of new systems and applications? Create elegant interfaces using VueJS for thousands of users? Get moving and strengthen Nederlandse Loterij as a Front-end Developer. Thanks to your efforts, our services are always presented in style. As a Front-end Developer you are responsible for website development and improving customer experience based on data analyze. In this way, you directly contribute to a happy, healthy and sporty Netherlands. As a Front-end Developer you score by: Writing elegant, testable components without side-effects to provide functionality to the users Website development, adding

Bekijk vacature »

Senior .NET developer

Klaar voor een nieuwe uitdaging? Welke technologieën gaan schuil achter de dagelijkse energievoorziening? Als senior .NET developer bij Kenter maak jij samen met je team het verschil, zowel voor de interne organisatie als voor eindklanten. Samen bouwen jullie aan innovatieve dienstverlening met behulp van de nieuwste technologieën en tools. Het is een functie met veel vrijheid, goede arbeidsvoorwaarden én je draagt jouw steentje bij aan de energietransitie. Klinkt dit als iets voor jou? Lees dan verder of solliciteer direct! Wat ga je doen als senior .NET developer? Als senior .NET developer bij Kenter (onderdeel van Alliander) ben je van onschatbare

Bekijk vacature »

PHP developer

Functie Voor een opdrachtgever in omgeving Leiden zijn wij op zoek naar een PHP developer die affiniteit heeft met C++. Ben jij reeds afgestudeerd of heb je al een paar jaar ervaring? Lees snel verder en kijk of dit iets voor jou is! Hoe kan jouw dag er straks uitzien? Je gaat software en webapplicaties ontwikkelen met behulp van de talen C / C++ / PHP. Je gaat technische klussen uitvoeren op locatie bij klanten. Je onderhoudt contact met de projectleider om er zeker van te zijn dat een projecten goed verlopen. Je gaat klanten ondersteunen op het gebied van

Bekijk vacature »

Senior SQR Java Developer

Vacature details Vakgebied: Software/IT Opleiding: Senior Werklocatie: Eindhoven Vacature ID: 13333 Introductie Are you passionate about contributing to the world's most advanced machines. Do you thrive in a challenging environment working with highly motivated and skilled teams? If so, we have the perfect opportunity for you! We are seeking a Senior Software Design Engineer for Sequence Tooling to play a critical role in creating and maintaining mission-critical software applications. In this role, you will focus on achieving maintainable software architecture that is transparent and easy to extend while maintaining a strong focus on software quality. You will work closely with

Bekijk vacature »

Software developer - C Sharp

Functie omschrijving Heb jij interesse in het programmeren en ontwikkelen van software? En heb jij enige ervaring met Oracle databases en PL/SQL? Wij zijn voor een leuke opdrachtgever in omgeving Naaldwijk op zoek naar een software ontwikkelaar die graag werkt met C#, JAVA of Oracle. Wij zoeken iemand die breed inzetbaar is en die aan veel verschillende applicaties wilt werken. Als software developer werk je met je collega's samen in een leuk en informeel team aan het (her)ontwerpen van bedrijfssystemen. Je houdt je bezig met het ontwikkelen van REST API's en je onderhoudt applicaties in Oracle PL/SQL en APEX. Vind

Bekijk vacature »

Front-end PHP Developer

Dit ga je doen Bouwen van de frontend van een nieuwe applicaties; Verbeteren van de user experience; Opstellen van een style guide; Schakelen met collega developers over de te bouwen oplossing; Je speelt een belangrijke rol in het neerzetten van het nieuwe systeem; Werken met o.a. Symfony 6, API Platform, Twig, Javascript, Redis Automatiseren van processen; Koppelen van verschillende functionaliteiten; Unit tests, integration tests, end-to-end tests; In de toekomst ga je nog werken aan andere projecten. Hier ga je werken Voor onze vaste opdrachtgever in de regio Breda zijn wij op zoek naar een Frontend Developer. Het betreft een organisatie

Bekijk vacature »

Full stack ontwikkelaar Laravel, Vue.js

Functie Als ontwikkelaar binnen deze organisatie hou jij je voornamelijk met lopende projecten voor de verschillende klanten. Zo bouw je de ene dag aan prijsschifting systemen en de andere dag onderzoek je crawlers en stel je ze zo in dat de data goed binnen komt binnen het systeem. Daarnaast bouw je mee aan dashboards en ben je dus constant bezig met het verbeteren van het platform. Er is een vaste werkwijze, zo werken ze met Trello kaarten en onderverdelen ze deze aan het begin van iedere week onder de developers. Dit wordt door de lead developer gedaan, maar in samenspraak

Bekijk vacature »

SAP HANA Cloud Application Developer

Vacature details Vakgebied: Software/IT Opleiding: Senior Werklocatie: Veldhoven Vacature ID: 12662 Introductie HANA Cloud Application Developer at a High Tech company. The company is the world's leading provider of lithography systems for the semiconductor industry, manufacturing complex machines that are critical to the production of integrated circuits or chips. Our purpose is “unlocking the potential of people and society by pushing technology to new limits”. We do this guided by the principles “Challenge”, “Collaborate” and “Care”. This role is situated in the Big Data Analytics (BDA) Domain. The teams have mixture of young talent and senior specialists and have a

Bekijk vacature »

Applicatiebeheerder/ Ontwikkelaar

Dit ga je doen - Verantwoordelijkheid dragen voor het complexe applicatielandschap; - Schakelen met eindgebruikers en leveranciers; - Verdeling in werkzaamheden tussen dagelijks beheer ontwikkelen; - Het analyseren van de behoeften van gebruikers en het vertalen hiervan naar functionele specificaties voor de applicaties; - Actief bijdragen aan het leveren van passende oplossingen voor het applicatielandschap. Hier ga je werken Deze organisatie, gevestigd in de regio van Amsterdam is een van de meest toonaangevende mediaorganisaties in Nederland. Door de organisatiecultuur krijg jij veel ruimte om initiatief te nemen en zelfstandig aan het werk te gaan. Samen met het IT team zorg

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/12/2024 06:42:30
 
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.