Fotoalbum + tumbnails

Door Zim Zim, 23 jaar geleden, 16.622x bekeken

Er staan hier al heen wat verschillende fotoalbums, maar deze is, volgens mijn, anders als de andere. Het is een fotoalbum die automatisch tumbnails aanmaakt en alle foto's uit een map leest.

Ik heb begrepen dat niet iedereen snapt wat hij moet doen: daarom nu een goede uitlegt.
1) Je neemt het script over en geeft het een naam (bijvoorbeeld index.php),
2) dan maak je een nieuwe map aan en zet je je foto's in.
dus het script staat NIET in dezelfde map die staat in de map 'erboven'.
3) Nu kan je het script aanroepen door: index.php?album=HIERJEMAPNAAM.
4). Nu ben je klaar!

*noot voor stap 2. de map structuur ziet er dan zo uit:
index.php
JEMAPNAAMWAARJEFOTOSINZITTEN
EENADNEREMAPVOORFOTOS

en die roep je dan aan met:
index.php?album=JEMAPNAAMWAARJEFOTOSINZITTEN en index.php?album=EENANDEREMAPVOORFOTOS.

Voorbeeld: http://zim.zi.funpic.org/Voorbeelden/fotoalbum2.php?album=vo

Gesponsorde koppelingen

PHP script bestanden

  1. fotoalbum-tumbnails

 

Er zijn 52 reacties op 'Fotoalbum tumbnails'

PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Robert Deiman
Robert Deiman
23 jaar geleden
 
0 +1 -0 -1
Mooi scriptje, het is inderdaad wel handig, om op zo'n manier een foto-album te maken. Je hoeft nu alleen nog maar foto's in een album te zetten en het werkt.
Werkt het ook als je in die map een nieuwe map hebt, waar ook weer foto's in komen? (geeft die de map weer, zodat je ook door mappen kan bladeren?)
Lissy Pixel
Lissy Pixel
23 jaar geleden
 
0 +1 -0 -1
Super handig en idd voor sub-mappen?
Hoe doe je dit?


23 jaar geleden
 
0 +1 -0 -1
Leuk scriptje. Design en overzichtelijkheid ziet er goed uit.

Programmeertechnisch wel wat aanmerkingen:
-Houd de variabelen buiten de quotes!
-Werkt met enkele quotes, zodat je goede html kan gebruiken.
-Je PHP is niet helemaal netjes. Met error_reporting(E_ALL); krijg je notices.
Alfred -
Alfred -
23 jaar geleden
 
0 +1 -0 -1
Ik dacht dat Bas zo al eens een script had, maar ik vind het helaas niet meer :)

Verder:
Quote:
if ($dir = @opendir("$directory")) {


Wat doen de "" daar ? Weghalven dus..

En dit nog op veel andere plaatsen ;) Variablen buiten de quotes :)
Zim Zim
Zim Zim
23 jaar geleden
 
0 +1 -0 -1
@robert:
Nee hij geeft niet de submappen neer.
@lissy:
als je wilt weten hoe ik dat doe: lees mijn script:P maar je kan alleen in de volgende mappen kijken (zijn dat submappen?)
@sebastiaan en Rafeal: ja ik weet he tmaar het werkte dus toen had ik geen zin omhet te veranderen, misschien wel.


23 jaar geleden
 
0 +1 -0 -1
Je kan erop rekenen dat mensen je script niet nemen als het niet goed geprogrammeerd is.
Zim Zim
Zim Zim
23 jaar geleden
 
0 +1 -0 -1
@sebatiaan: groot gelijk.. maar opzich is het niet 'verkeerd' geprogrammeerd, het werkt hoe het moet werken.. maar sommige sintacsen kunnen beter.. en die zal ik ook veranderen.
Willem vp
Willem vp
23 jaar geleden
 
0 +1 -0 -1
Niks mis mee om variabelen binnen de quotes te hebben. PHP staat het toe, dus het mag. Verder is het een kwestie van persoonlijke voorkeur; het is niet expliciet verkeerd om het wel of niet te doen.
Robert Deiman
Robert Deiman
23 jaar geleden
 
0 +1 -0 -1
@Zim
Als je in volgende mappen kan kijken en dat die daar ook automatisch thumbs van maakt, dan kan je in "submappen" komen. Maar hij geeft dus niet een link met de naam van een map die zich in de map bevind die je weer wilt geven?


23 jaar geleden
 
0 +1 -0 -1
@Willem-vp: HTML staat ook 3 html tags toe in de tekst...
Willem vp
Willem vp
23 jaar geleden
 
0 +1 -0 -1
@Sebastiaan: Wat is de relevantie van die opmerking?
Melroy van den Berg
Melroy van den Berg
23 jaar geleden
 
0 +1 -0 -1
Ik gebruik ?id=... om mijn website kan iemand dit script omzetten dat hij kan gebruikt worden voor bv: index.php?id=foto...(kom je op de index van het fotoalbum) en index.php?id=foto&album=... (ga je bladeren etc. in die ./album)

AUB de vernieuwde versie; dus dat de fouten er al zijn uitgehaald met bijv.

("$directory"); word dan: ($directory);

Alvast erg bedankt!!!

Melroy


23 jaar geleden
 
0 +1 -0 -1
@Willem-vp: PHP staat het toe om vars binnen de quotes te hebben en arrays als $a te schrijven, Browsers staan het toe dat er 5 html tag achter elkaar komen...
Willem vp
Willem vp
23 jaar geleden
 
0 +1 -0 -1
@Sebastiaan:
Vind ik iets heel anders. Bij PHP is het een gespecificeerd onderdeel van de taal en heeft het daadwerkelijk nut, namelijk het leesbaar houden van je code (en regel nummer 1 in software engineering zegt dat je leesbare code moet schrijven).

Dat van die HTML tags heeft niets te maken met HTML. Het is niet toegestaan volgens de standaard maar wordt geaccepteerd door browsers omdat er nu eenmaal veel te veel "webdesigners" rondlopen die denken dat ze een website kunnen maken omdat ze een keer bij V&D een boek over webdesign hebben zien liggen.


23 jaar geleden
 
0 +1 -0 -1
Toch is arrays als $a schrijven niet correct :-)
Willem vp
Willem vp
23 jaar geleden
 
0 +1 -0 -1
Ja en nee. Als je een constante hebt met de naam b dan is het volkomen correct. Zo niet, dan maakt PHP 'on the fly'een constante 'b' aan. Het werkt, maar omdat niet is gedefinieerd hoe PHP in de toekomst met ongedefinieerde constants omgaat is het geen aanbevolen werkwijze.

Daarentegen is $str = "$a" weer wel volkomen legaal (en correct), omdat PHP binnen een string geen constantes evalueert.
Appz
Appz
23 jaar geleden
 
0 +1 -0 -1
@rafael:
http://www.phphulp.nl/php/scripts/1/69/
Hier staat het scriptje van bas. Errug goed
Michel
michel
23 jaar geleden
 
0 +1 -0 -1
hoe kan ik in dit script de hoogte/breedte van een plaatje laten zien? per plaatje...
David
David
23 jaar geleden
 
0 +1 -0 -1
Ik heb het scriptje in een map gezet en in deze map ook de map met plaatjes 'vakantie'. Ik krijg niets te zien, hoe krijg ik dit voor elkaar??
De foutmelding is: Selecteer een album. Maar waar?

Hopelijk kan iemand mij helpen, alvast bedankt.
- -
- -
23 jaar geleden
 
0 +1 -0 -1
Ik heb het zelfde probleem als David hierboven. Plz help us!!
Rob
rob
23 jaar geleden
 
0 +1 -0 -1
zalig scriptje, het werk perfect.
Ik ben van plan dit script te includen in men index.php maar dan doet hij het helaas niet meer.kan iemand het voor me aanpassen of kan iemand me soms uitleggen wat ik juist moet aanpassen?
Niek Weevers
Niek Weevers
23 jaar geleden
 
0 +1 -0 -1
Ik heb ook het probleem dat ik alleen maar krijg: 'selecteer een album' en hij geeft niks weer. Hoe kan ik dat oplossen?
David
David
23 jaar geleden
 
0 +1 -0 -1
Zou iemand, die het scriptje aan de praat heeft gekregen, ook de mensen willen helpen die dit niet lukt, a.u.b.. Waar moet het album met foto's neer gezet worden? Alvast bedankt.
Rob
rob
22 jaar geleden
 
0 +1 -0 -1
niek je moet in het script zelf nog een link neerschrijven

dus onder het stuk waar staat """echo: "<h1>selecteer een album'<h1>" """"
zet je gewoon je link

die link kan bv zijn: <a href="fotos.php&album=hier komt de naam van de map waar je fotos instaan">foto's wintervakantie<a>
Rob
rob
22 jaar geleden
 
0 +1 -0 -1
@ David

je moet je map met fotos gewoon in de root van je map zetten
Rob
rob
22 jaar geleden
 
0 +1 -0 -1
eens er 30 of meer (hangt er vanaf hoe druk de server bezet is) thumbnails moeten aangemaakt worden, raakt de server in problemen en word het script gewoon afgeproken.
Marianne
marianne
22 jaar geleden
 
0 +1 -0 -1
Heel erg mooi script.
Maar mijn achtergrond is zwart en nu kan je de tekst niet meer lezen, heb gezocht in het script waar ik de kleur kan veranderen maar kan het niet vinden.
Wie weet dit ?
Sjoukema
Sjoukema
22 jaar geleden
 
0 +1 -0 -1
hoe kan ik een beschrijving bij de foto's zetten, of moet ik dan met databases werken?
Sjoukema
Sjoukema
22 jaar geleden
 
0 +1 -0 -1
Marianne, je kan bijvoorbeeld gewoon:
<body color="white">

toevoegen aan je scriptje (na de style en voor het php begint)
Killerpuppy
Killerpuppy
22 jaar geleden
 
0 +1 -0 -1
je moet juist een kleur instellen. Staat standaard op zwart.

waarschijnlijk kan je voor een beschrijving de bestandsnaam misbruiken
Sjoukema
Sjoukema
22 jaar geleden
 
0 +1 -0 -1
hoe kan je de bestandsnaam dan weergeven op het scherm zonder .JPG weer te geven? Of hoe kan je uberhaupt makkelijk de bestandsnaam op een gekozen plek laten weergeven
Sjoukema
Sjoukema
22 jaar geleden
 
0 +1 -0 -1
Ik heb opgelost hoe je de bestandsnaam eronder krijgt. Het enige probleem is, hij sorteert de foto's op grootte. Ik wil ze graag op naam laten sorteren. Hoe kan ik dat doen?

Iemand die me hiermee kan helpen?
Sjoukema
Sjoukema
22 jaar geleden
 
0 +1 -0 -1
is er iemand die mij hiermee kan helpen? het op datum of naam sorteren van de foto's?
Niek Kasius
Niek Kasius
22 jaar geleden
 
0 +1 -0 -1
mij hebben ze altijd geleerd dat index. of dat nu php, html of eender welke scripttaal de bestandsnaam van je startpagina moet zijn. en dat klopt ook wel, want als ik bovenstaand script index.php noem en dat in de map www van mijn Wamp5 server zet dan zie ik in dit geval alleen nog maar een site met onderstaande text:
Selecteer een album.

En kan ik doen wat ik wil maar krijg niks anders meer te zien, alleen als ik het afsluit en een map index maak met daarin index.php, krijg ik de index van wamp weer terug te zien met alle mappen en bestanden erin.

1) Je neemt het script over en geeft het een naam (bijvoorbeeld index.php),
2) dan maak je een nieuwe map aan en zet je je foto's in.
dus het script staat NIET in dezelfde map die staat in de map 'erboven'.

( wie wat waar welke map dan?)

3) Nu kan je het script aanroepen door: index.php?album=HIERJEMAPNAAM.
4). Nu ben je klaar!

*noot voor stap 2. de map structuur ziet er dan zo uit:
index.php
JEMAPNAAMWAARJEFOTOSINZITTEN
EENADNEREMAPVOORFOTOS

en die roep je dan aan met:
index.php?album=JEMAPNAAMWAARJEFOTOSINZITTEN en index.php?album=EENANDEREMAPVOORFOTOS.

ik heb een map: album met daarin mijn foto's en een map: index met daarin index.php
maar waarom werkt het niet.
Niet dat ik een expert ben in tegendeel zelf want ook dit script krijg ik blijkbaar niet aan de praat, maar dat van die index kan echt niet.

ik geef het op


22 jaar geleden
 
0 +1 -0 -1
zou je hier ook mee een fotoalbum kunnen maken van en map op een andere server?
Jelle Posthuma
Jelle Posthuma
22 jaar geleden
 
0 +1 -0 -1
@qwaxys:

Gewoon het script en het album op een zelfde server plaatsen, en vanaf de webserver met een (i)frame linken naar die server en die .php file van de fotoalbum.
Is volgens mij de enige optie.
Nick Bakx
Nick Bakx
22 jaar geleden
 
0 +1 -0 -1
Ik wil graag de namen zien van mijn album op de pagina waar nu staat: Selecteer een album.
Weet iemand hoe ik dit automatisch kan laten doen?
The master
the master
22 jaar geleden
 
0 +1 -0 -1
wat doe ik fout ?

Fatal error: Call to undefined function imagecreatefromjpeg() in C:\wamp\www\HU\index.php on line 43

en dit geeft http://localhost/HU/index.php?album=parijs

seleceteer album
Danny
Danny
21 jaar geleden
 
0 +1 -0 -1
Is echt een goed script !!

Alleen kan je er ook voor zorgen dat hij bijvoorbeeld maar 20 foto's op 1 pagina laat zien en dan de rest op een volgende pagina met een navigatie er onder.

< 1 | 2 | 3 > bijvoorbeeld !!

Bij voorbaat dank,
Emmerik
Remko willemsen
remko willemsen
21 jaar geleden
 
0 +1 -0 -1
Hallo, ik ben een leek in php taal maar alles is gelukkig goed gegaan.

Ik heb echter nog een vraagje, op het einde als de foto's getoond worden staat er "Ga terug naar het Album"en dan ga ik een stapje terug. Ik wil echter naar mijn index toe. Hoe doe ik dat??? Zodra ik iets aanpas werkt het hele script niet meer.

Wie kan deze php leek helpen?

Alvast bedankt!

M.v.g.
Remko
Eric
Eric
20 jaar geleden
 
0 +1 -0 -1
Ik heb het script uitgebreid met een database, waardoor er nu ook een index met alle albums wordt getoond, en dingen als een aparte titel, beschrijving en datum. Verder erg goed script!
Carla
carla
19 jaar geleden
 
0 +1 -0 -1
De voorbeeld link leidt aleen maar naar reclame; heel vervelend, jammer.
Julian
Julian
19 jaar geleden
 
0 +1 -0 -1
Waarom altijd substr($file,-3,3) voor het bepalen van het bestandstype? Kijk eens naar pathinfo(), waarom moeilijk doen als het makkelijk kan ;)
Bram
bram
19 jaar geleden
 
0 +1 -0 -1
bestaat er de mogelijkheid om de grote te open met lightbox gr bram
Wouter De Schuyter
Wouter De Schuyter
19 jaar geleden
 
0 +1 -0 -1
In xampp doet ie het niet..
Rick van Hout
Rick van Hout
19 jaar geleden
 
0 +1 -0 -1
@Rob: niek je moet in het script zelf nog een link neerschrijven

dus onder het stuk waar staat """echo: "<h1>selecteer een album'<h1>" """"
zet je gewoon je link

die link kan bv zijn: <a href="fotos.php&album=hier komt de naam van de map waar je fotos instaan">foto's wintervakantie<a>
----------------------------------------------------------------------------------------
Ik weet niet waar ik de link neer moet zetten, kan iemand erbij helpen? gr rick
Hkny
hkny
19 jaar geleden
 
0 +1 -0 -1
Ik wil een album aanroepen dmv:
?page=index&album=album1

Maar dat gaat niet, het kan alleen zo:
index.php?album=album1

Terwijl ik hem goed hem opgenomen in mijn page switch.
Wat moet ik veranderen? Alvast bedankt.
Rick van Hout
Rick van Hout
19 jaar geleden
 
0 +1 -0 -1
@Rob: niek je moet in het script zelf nog een link neerschrijven

dus onder het stuk waar staat """echo: "<h1>selecteer een album'<h1>" """"
zet je gewoon je link

die link kan bv zijn: <a href="fotos.php&album=hier komt de naam van de map waar je fotos instaan">foto's wintervakantie<a>
----------------------------------------------------------------------------------------
Ik weet niet waar ik de link neer moet zetten, kan iemand erbij helpen? gr rick
Rick van Hout
Rick van Hout
19 jaar geleden
 
0 +1 -0 -1
wie kan er helpen?
Rick van Hout
Rick van Hout
19 jaar geleden
 
0 +1 -0 -1
kan iemand kijken wat ik hier fout doe?


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
<?php

$album
= $_GET['album'];
$directory = "./$album";    
$id = $_GET['id'];
echo "<title>Fotoalbum $album</title>\n";
echo "</head>\n";
echo "<body>\n";

if(empty($album)){
    echo "Selecteer een album";
    echo "<br>";
    echo "<a href=album.php&album=album>Test</a>";    
}


elseif(is_dir($directory)){
    if(!isset($id)){        
        $a_jpeg = array();
        if ($dir = @opendir("$directory")) {
          while (($file = readdir($dir)) !== false) {
           $filetype = substr($file,-3,3);
           if ($filetype == "jpg" || $filetype == "JPG" ){
               $a_jpeg[] = $directory."/thumbs/".$file;
         if(!is_dir("$directory/thumbs"))
            {

                $res = @mkdir("$directory/thumbs",0777);
                
                if(!$res)
                {

                    echo "Geen rechten om thumbnails aan te maken.";
                    exit();
                }

                else
                    chmod("$directory/thumbs",0777);
            }

        
            $imagehw = GetImageSize("$directory/$file");
            $src_width = $imagehw[0];  
            $src_height = $imagehw[1];
                    
            $src_width > $src_height ? $dest_width = 75 : $dest_width = 50;
            
            $tmp = $src_width / $dest_width;
            $dest_height = $src_height / $tmp;
                
            $src_img = imagecreatefromjpeg("$directory/$file");
            $dst_img = imagecreatetruecolor($dest_width,$dest_height);
            
            imagecopyresampled($dst_img, $src_img, 0, 0, 0, 0, $dest_width,    $dest_height, $src_width, $src_height);
            imagejpeg($dst_img, "$directory/thumbs/$file", 75);
            imagedestroy($src_img);
            imagedestroy($dst_img);
            
            }
          }

          closedir($dir);
          
        }

            echo "<table border=0 align=center>\n";
            echo "\t<tr>\n\t\t<td colspan=4 align=center><p style=\"text-transform: capitalize; font-size: 24pt\">$album</p></td>\n\t</tr>\n";

                for($i = 0; $i < count($a_jpeg); $i++){
                  echo "\t<tr>\n";
                  if(file_exists($a_jpeg[$i])){
                  echo "\t\t<td align=center><a href=\"?album=" . $album . "&id=" . $i . "\"><img src=\"".$a_jpeg[$i]."\" border=0></td>\n";
                    }

                    else
                    {
                        echo "";
                    }

                  $i++;
                  if(file_exists($a_jpeg[$i])){
                  echo "\t\t<td align=center><a href=\"?album=" . $album . "&id=" . $i . "\"><img src=\"".$a_jpeg[$i]."\" border=0></td>\n";
                    }

                    else
                    {
                        echo "";
                    }

                  $i++;
                  if(file_exists($a_jpeg[$i])){
                  echo "\t\t<td align=center><a href=\"?album=" . $album . "&id=" . $i . "\"><img src=\"".$a_jpeg[$i]."\" border=0></td>\n";
                    }

                    else
                    {
                        echo "";
                    }

                  $i++;
                  if(file_exists($a_jpeg[$i])){
                  echo "\t\t<td align=center><a href=\"?album=" . $album . "&id=" . $i . "\"><img src=\"".$a_jpeg[$i]."\" border=0></td>\n";
                    }

                    else
                    {
                        echo "";
                    }

                  echo "\t</tr>\n";
                }


            echo "\t<tr>\n\t\t<td colspan=4 align=center>Made by <a href=\"mailto:[email protected]\">Zim (Tim Zuiker)</a></td>\n\t</tr>\n";
            echo "</table>";
        }

    else
    {
        $b_jpeg = array();
        if ($dir = @opendir("$directory")) {
            while (($file = readdir($dir)) !== false) {
                $filetype = substr($file,-3,3);
                if ($filetype == "jpg" || $filetype == "JPG" ){
                    $b_jpeg[] = $directory."/".$file;
                   }

               $max = count($b_jpeg);
               }

            closedir($dir);
        }

           $volgende = $id+1;
           $volgende2 = $id+2;
           $vorige = $id-1;
           $vorige2 = $id;
           echo "<table border=1 align=center>\n";
            echo "\t<tr>\n\t\t<td colspan=2 align=center><p style=\"text-transform: capitalize; font-size: 24pt\">$album</p></td>\n\t</tr>\n";
                echo "\t<tr>\n";
                    echo "\t\t<td width=50% align=right>";
                        if($vorige2 >= 1){
                            echo "<a href=?album=$album&id=$vorige>Vorige</a>";
                        }

                        else
                        {
                            echo "Vorige";
                        }

                        echo "</td>\n";
                        
                        echo "\t\t<td width=50% align=left>";
                        if($volgende2 <= $max){
                            echo "<a href=?album=$album&id=$volgende>Volgende</a>";
                        }

                        else
                        {
                            echo "Volgende";
                        }

                        echo "</td>\n";
          echo "\t</tr>\n";
                echo "\t<tr>\n";
                    echo "\t\t<td colspan=2>";
                          echo "<img src=\"$b_jpeg[$id]\">";
                    echo "</td>\n";
                echo "\t</tr>\n";
                echo "\t<tr>\n";
                    echo "\t\t<td align=center colspan=2>";
                        echo "<a href=?album=$album>Ga terug naar het Album</a>";
                    echo "</td>\n";
                echo "\t</tr>\n";
            echo "</table>";
    }
}

else
{
    echo "De directory die jij zoekt ($album) bestaat niet";
}







?>
Rick van Hout
Rick van Hout
19 jaar geleden
 
0 +1 -0 -1
nogmaals:( wie kan mij hier mee helpen? :( (A)

Groeten Rick
PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Milo
Milo
18 jaar geleden
 
0 +1 -0 -1
@Rick:
Dit script is al verouderd ik zal kijken bij een ander script in de lib...
Jgallery is zeer handig ;)

Om te reageren heb je een account nodig en je moet ingelogd zijn.

Inhoudsopgave

  1. fotoalbum-tumbnails

Labels

  • Geen tags toegevoegd.

Navigatie

 
 

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.