Automatisch Fotoalbum V2

Door Arjan Kapteijn, 22 jaar geleden, 31.873x bekeken

Dus je wilt je fotoverzameling delen met de wereld maar je hebt geen zin in het gebruik van onhandige programma's? Laat PHP het werk voor je doen! Gooi dit bestand ergens neer en maak in dezelfde directory een map fotoalbum. Gooi in die map al je fotos en de rest gaat automatisch. Zodra iemand een foto bekijkt die nog niet gethumbnailed is word dat op dat moment gedaan.

Bij kijk versie 3 hier!

Voorbeeld: http://www.i-cey.net/?pagina=fotoalbum

Gesponsorde koppelingen

PHP script bestanden

  1. automatisch-fotoalbum-v2

 

Er zijn 369 reacties op 'Automatisch fotoalbum v2'

PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Robert Deiman
Robert Deiman
22 jaar geleden
 
0 +1 -0 -1
@Arjan

Mooi script, niet dat we anders zijn gewend, maar het mag gezegd worden natuurlijk :) Het album zelf ziet er ook netjes uit, en met een beetje .css kennis gemakkelijk aan te passen aan de wensen van de gebruiker..
TOP!!

Maar voor welke delen moet je hogere kwantumfisica kennen dan? Ik zie alleen een paar wiskundige stukjes die wat lastig kunnen zijn, maar voor zover ik weet, is de gemiddelde PHP-er wel "logisch" aangelegd.. die logica zullen ze ook wel kunnen ontcijferen :)
Something Else
Something Else
22 jaar geleden
 
0 +1 -0 -1
:O mooi, ik heb zelf een fotoalbum gemaakt. En is toch leuk om te weten dat ik toch wel op de goeie weg zit ;). En het is te begrijpen :)

very nice ;)
 
0 +1 -0 -1
1 ding in je beschrijving: "hogere kwantumfysica gestuurd moet hebben" moet dat niet "hogere kwantumfysica gestudeerd moet hebben" zijn?
Leo
Leo
22 jaar geleden
 
0 +1 -0 -1
Netjes, alleen moet ik nog watermerk hebben :(
Arjan Kapteijn
Arjan Kapteijn
22 jaar geleden
 
0 +1 -0 -1
Dat is heel makkelijk toe te voegen met een simpele imagecopymerge, niet meer dan 3 minuten werk.
Leo
Leo
22 jaar geleden
 
0 +1 -0 -1
Ok, bedankt Arjan! ga het zeker proberen als ik aan dit deel toe ben (ben nog bezig met nieuwssysteem)
 
0 +1 -0 -1
Geweldig script is dit! Misschien kun je ook nog een watermerk script erbij maken, dan is het helemaal compleet
Arjan Kapteijn
Arjan Kapteijn
22 jaar geleden
 
0 +1 -0 -1
Als je zelf een watermerk over je grote fotos maakt (photoshop 7 batch) ben je er ook, de thumbs hebben dan ook een watermerk ;). Maar zoals ik eerder zij, meer dan 3 minuten werk is het niet. Alleen krijg je dan geen watermerk over de grote fotos want daar doe ik niks mee. Zou je dus ook de grote fotos moeten openen, watermerken en terugplaatsen.
Arjan Kapteijn
Arjan Kapteijn
22 jaar geleden
 
0 +1 -0 -1
Dankje Abiboe :).
Bassos
Bassos
22 jaar geleden
 
0 +1 -0 -1
Hoi,

ik ben het fotoalbum in mijn pagina aan het zetten. Alleen krijg ik hem niet werkend. Ik krijg steeds de melding:

Ey kappen nou! Je maakt hem kapot!

Waar heeft dit met te maken??

ps. ik heb boven in het pad moeten veranderen in:

$map = 'fotos/ouders/fotoalbum/';
Arjan Kapteijn
Arjan Kapteijn
22 jaar geleden
 
0 +1 -0 -1
Wat staat er bij jou op regel 75?
Leo
Leo
22 jaar geleden
 
0 +1 -0 -1
Njah ik wilde juist de groote foto's watermerken en de thumbnails niet want die zijn maar 80x100.. maar misschien dat ik een functie uit een ander script kan halen :)
Arjan Kapteijn
Arjan Kapteijn
22 jaar geleden
 
0 +1 -0 -1
Bassos, jij zult op regel 75 even if($mappen[0] != 'fotoalbum') moeten aanpassen. Of die 3 regels weghalen.

Leo, wederom, niet moeilijk.
Hakkatjai
Hakkatjai
22 jaar geleden
 
0 +1 -0 -1
deze photoalbum heeft wel iets weg van die van mij, je tweede versie ziet er veel beter uit, lekker schoon.

keep up...
Arjan Kapteijn
Arjan Kapteijn
22 jaar geleden
 
0 +1 -0 -1
Ik zie in de script database geen fotoalbum van jou staan Hakkatjai.
Robert Deiman
Robert Deiman
22 jaar geleden
 
0 +1 -0 -1
@Leo

Dan verplaats je dat script toch? Het is gewoon hetzelfde als bij de thumbs, je moet het alleen op een andere plek neerzetten!
Kevin
Kevin
22 jaar geleden
 
0 +1 -0 -1
He man helemaal top arjan nu heb ik weer vraagje weet iemand hoe ik in dit script kan toe passen zodat het script de foto weergeeft op gewijzigde datum of geuploaden datum.
Dus dat de foto's geselecteerd worden op datum van uploaden!

mzzl Kèvin
Arjan Kapteijn
Arjan Kapteijn
22 jaar geleden
 
0 +1 -0 -1
Kevin, ik werk met opendir() en readdir(), die doen niks met datum. Wat je zou kunnen doen is met filemtime ook de datum/tijd ophalen en die ook in de bestanden array moeten plaatsen, en dan vervolgens daar op sorteren. Maar ik moet eerlijk bekennen dat ik daar geen ervaring mee heb.
Kevin
Kevin
22 jaar geleden
 
0 +1 -0 -1
oke bedankt ik ga wel effe knutselen tot ik iets weet waardoor hij ze op datum selecteerd tenzij hier natuurlijk iemand is die het al heeft bekeken en heeft toegepast
Goet Kèvin
Jasper
jasper
22 jaar geleden
 
0 +1 -0 -1
mooi en proper script!, enkel als je een foto bekijkt, kun je bij de eerste foto niet op vorige klikken (wat zeer goed is) maar bij de laatste foto kan je wel op volgende klikken met gevolg dat er komt "deze foto bestaat niet". Buiten dit vind ik hem zeer mooi werken!
Arjan Kapteijn
Arjan Kapteijn
22 jaar geleden
 
0 +1 -0 -1
Jasper, gefixed, thx voor het melden :)
Bassos
Bassos
22 jaar geleden
 
0 +1 -0 -1
@Arjan Ik heb op regel 75 niks veranderd. Dus als ik het goed begrijp moet ik deze regel veranderen, maar waarin. Of anders weghalen...
Arjan Kapteijn
Arjan Kapteijn
22 jaar geleden
 
0 +1 -0 -1
if($mappen[0] != 'fotoalbum'), daar fotoalbum vervangen door fotos en je bent er wel.
Bassos
Bassos
22 jaar geleden
 
0 +1 -0 -1
@Arjan, ik zal het meteen even veranderen....
Bassos
Bassos
22 jaar geleden
 
0 +1 -0 -1
En we zijn al een stapje verder... Alleen nu werken de links nog niet naar behoren. Hij kan ze namelijk niet openen. Het zit namelijk zo: ik laad mijn content div dootr middel van een switch te gebruiken en hij kent de links niet denk ik.

toppersunited.nl
Arjan Kapteijn
Arjan Kapteijn
22 jaar geleden
 
0 +1 -0 -1
Logisch nadenkwerk, ?map= vervangen door ?pagina=blablabla&map=, waar pagina=blablabla je eigen $_GET is, teminsten... ik neem aan dat je bedoeld dat je met $_GETS werkt om de juiste pagina te openen. Net zoals ik op i-cey.net dus heb.
Bassos
Bassos
22 jaar geleden
 
0 +1 -0 -1
Ja ik werk ook met $_GETS om de juiste pagina te openen.... ik zal weer eens even gaan prutsen...
Bassos
Bassos
22 jaar geleden
 
0 +1 -0 -1
Het lukt niet helemaal; ik heb de links bovenin wel goed gekregen, alleen zit ik nog met de thumbs. Ik heb nu dit:

case "/fotos/ouders/fotoalbum&foto14":
$pagina="/fotos/ouders/fotoalbum&foto14";
break;

Maar dit werkt natuurlijk niet. Hoe moet het dan wel??
Arjan Kapteijn
Arjan Kapteijn
22 jaar geleden
 
0 +1 -0 -1
Geef eens een link want je bent nu hele gare dingen aan het doen volgens mij.
Bassos
Bassos
22 jaar geleden
 
0 +1 -0 -1
Dit is de website in aanbouw...

www.toppersunited.nl
Bassos
Bassos
22 jaar geleden
 
0 +1 -0 -1
En de mappen zijn niet beveiligd, dus je kunt de bestanden zo bekijken.
Marianne
marianne
22 jaar geleden
 
0 +1 -0 -1
Het script werkt perfect Arjan, ik ben er heel blij mee.
Maar heb nog een vraagje.
Als ik fotoos uit de map fotoalbum wil verwijderen of de hele map kan dat niet .
Op mijn ftp server dus .
Hoe kan dit ?????
Arjan Kapteijn
Arjan Kapteijn
22 jaar geleden
 
0 +1 -0 -1
Komt waarschijnlijk door de erg wazige menuindeling waardoor hij in de war raakt...

http://www.toppersunited.nl/fotos/ouders/fotoalbum/

Maar daar eens van

http://www.toppersunited.nl/fotoalbum/ouders/fotos/

Anders moet je regel 86 aanpassen, hij raakt in de war met de slashes.
Arjan Kapteijn
Arjan Kapteijn
22 jaar geleden
 
0 +1 -0 -1
Voor de mensen die de mappen niet kunnen verwijderen... Dat zou je aan je hoster voor moeten leggen, blijkbaar ben jij niet de eigenaar van die mappen maar php wel. Waarschijnlijk kan je het oplossen met een chown, maar dat zou je ff aan je hoster moeten vragen.
Marianne
marianne
22 jaar geleden
 
0 +1 -0 -1
oke Arjan doe ik.

Bedankt Marianne
Legolas
Legolas
22 jaar geleden
 
0 +1 -0 -1
@Arjan: php gebruiken om te verwijderen: unlink('./bestand'); of chmod('./bestand', 0777); en dan met FTP
Arjan Kapteijn
Arjan Kapteijn
22 jaar geleden
 
0 +1 -0 -1
Het is niet handig om een stukje php te maken om mapjes weg te gooien. En chmod is het niet want die word al goed gezet. Via de FTP zou moeten kunnen maar dan moet je eerst de gebruiker goedzeten, waarschijnlijk met chown dus.
Legolas
Legolas
22 jaar geleden
 
0 +1 -0 -1
Het beste is chmod op 777 en dat zou moeten werken aangezien dan iedereen verwijder rechten heeft, die moet je overigens ook op de omvattende map hebben

EDIT: 23:02? =S
Arjan Kapteijn
Arjan Kapteijn
22 jaar geleden
 
0 +1 -0 -1
Hmm, als iemand het wilt proberen... verander de 0755 naar 0777 en kijk wat er gebeurd. (met nieuwe mappen that is, de oude blijven de oude rechten behouden).
Bassos
Bassos
22 jaar geleden
 
0 +1 -0 -1
@Arjan, ok ik heb nu een aantal dingen veranderd. Alleen ik merk als ik de thumbnailpagina heb dat de laatste link (fotos) niet helemaal klopt. Daar mis ik een slash tussen oudersfotos (http://www.toppersunited.nl/index.php?pagina=/fotoalbum/oudersfotos)

>> Fotoalbum >> Ouders >> Fotos
Arjan Kapteijn
Arjan Kapteijn
22 jaar geleden
 
0 +1 -0 -1
Ik zie een $map en een $pagina, je haalt volgens mij dingen door elkaar.
Bassos
Bassos
22 jaar geleden
 
0 +1 -0 -1
Het vorige probleem heb ik verholpen, nu ben ik aanbeland bij de volgende/vorige knop.

En deze werkt nu ook, we komen er wel ; )
Bassos
Bassos
22 jaar geleden
 
0 +1 -0 -1
Nu klik ik op de thumbnails en alles werkt ineens. Geen idee hoe het komt, maar goed...
Pim
Pim
22 jaar geleden
 
0 +1 -0 -1
Hey Arjan,
keihandig tooltje, dat komt wel van pas voor mijn uilenwebsite, waarop veel foto's te zien moeten zijn. Dank je wel. 't werkt prima!
gr. Pim W.
Arie
arie
22 jaar geleden
 
0 +1 -0 -1
Bedankt voor het script! Ik had denk ik versie 1, met wat aapassingen, heb een tabel met foto's zodat ze ook onder elkaar kunnen, en kwam bij mij nog 2 foutjes tegen, denk dat ze ook nog in v2 zitten:

Bij de schoonmaakfunctie heb ik de nummering aan moeten passen, omdat met unset gedeeltes weggegooid worden, maar vervolgens in de forloop met $y wel weer aangeroepen worden, wat notices gaf

$array = array_values($array);
return $array;

en bij het opvragen van een enkele foto werd niet gecontroleerd of het nummer binnen de range valt, wat ook notices kan geven

$fotonr = $_GET['foto'];
if (($fotonr > 0) && ($fotonr <= count($bestanden)))


hmm en misschien zou je het controleren of de thumbsmap bestaat buiten de forlus kunnen halen, ik weet niet hoe lang dat duurt in php, maar het is niet elke keer nodig :)
en het groter dan teken misschien met &gt; zodat de browser zeker niet in de war raakt, al gaat het goed zo.
Ed van Papenrecht
Ed van Papenrecht
22 jaar geleden
 
0 +1 -0 -1
Ik krijg steeds een foutmelding:

Warning: mkdir(fotoalbum/spongebob/thumbs/): Permission denied in /home/sreeb/domains/sreeb.nl/public_html/jvw/fotoalbum.php on line 199

Warning: imagejpeg(): Unable to open 'fotoalbum/spongebob/thumbs/Kopie van spongebob3.jpg' for writing in /home/sreeb/domains/sreeb.nl/public_html/jvw/fotoalbum.php on line 53

Wat moet ik hier aan doen om dit niet meer te krijgen?

Bedankt!
Arjan Kapteijn
Arjan Kapteijn
22 jaar geleden
 
0 +1 -0 -1
Rechten op de fotoalbum map goedzetten.
Ed van Papenrecht
Ed van Papenrecht
22 jaar geleden
 
0 +1 -0 -1
jaah ik heb de map fotoalbum gechmod naar 777 en toch doet ie het niet?
Hendel Berg
Hendel Berg
22 jaar geleden
 
0 +1 -0 -1
Ik heb ook een vaag probleempje. Als ik de grote thumbnails weergeef, dan zie ik foto 1 - 8 groot, op het oude formaat wat stond ingesteld standaard in het script en de rest van de foto's op het nieuwe formaat, door mij ingesteld. Kan iemand me helpen?
Arjan Kapteijn
Arjan Kapteijn
22 jaar geleden
 
0 +1 -0 -1
Ook in de map spongebob moet hij wel rechten hebben.

Hendel, thumbs worden niet gecontrolleerd, als je de grootte veranderd zal je even de cache moeten legen (lees, thumbnail mapen verwijderen).
Guido van C
Guido van C
22 jaar geleden
 
0 +1 -0 -1
Leuk script, maar als ik dit gebruik worden de thumbnails in de map thumbnail automatisch zo gemaakt dat de eigenaar geen rechten meer heeft:

Lezen schrijven uitvoeren
Eigenaar x x
Groep x
Alle Gebruikers x

Daardoor kan ik als ik ingelogd ben als eigenaar niet meer de bestanden verwijderen. Ook kan ik de bestanden geen andere chmod geven. Kan dit in het script met het maken van de thumnail veranderdworden naar bijv. een 0777?
Rush
Rush
22 jaar geleden
 
0 +1 -0 -1
Voor de mensen met verwijder problemen:
Pas hiermee wel op, laat het niet geupload als het niet nodig is
sommige mensen die op die pagina komen zouden je map dat aangegeven is kunnen verwijderen

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

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");
         echo " removing $dir/$item<br>\n";
       }
     }
   }

   closedir($handle);
   rmdir($dir);
   echo "removing $dir<br>\n";
  }
}


//fotoalbum veranderen in de map die je wilt verwijderen, geen / aan het einde
remove_directory("fotoalbum");
?>


Ook heb ik het script een beetje aangepast dat het de fotos in een tabel zet en dat je kan kiezen hoeveel kolommen je wilt
Gerard
Gerard
22 jaar geleden
 
0 +1 -0 -1
hij doet het nog niet.. :( hij geeft dit aan... ;)
http://www.achtbanen.info/Fotos/remove_album.php
Gerard
Gerard
22 jaar geleden
 
0 +1 -0 -1
sorry hij doet het wel......

super top!!!!! thnkz!!!! maar hoe kan ik ze nu normaal verwijderen???
Als iemand het kan uitleggen graag!!!
Thnkz!!
Arjan Kapteijn
Arjan Kapteijn
22 jaar geleden
 
0 +1 -0 -1
Als je de laatste versie van het script gebruikt (eg, overal staat chmod 0777) moet het gewoon werken als je een map upload.
Gijs
gijs
21 jaar geleden
 
0 +1 -0 -1
Mooi script. Is het mogelijk om er een stukje bij te schrijven om mensen per foto te laten reageren?
Arjan Kapteijn
Arjan Kapteijn
21 jaar geleden
 
0 +1 -0 -1
Het kan wel, maar dan zou je iets van een database moeten schrijven en op een of andere manier al die fotos (eg, hun namen of een uniek nummer) moeten toevoegen aan een tabel.
Anja van Steenbrugge
Anja van Steenbrugge
21 jaar geleden
 
0 +1 -0 -1
Is deze scrip 1 pagina?
index.php bijvoorbeeld?
Arjan Kapteijn
Arjan Kapteijn
21 jaar geleden
 
0 +1 -0 -1
jup
Anja van Steenbrugge
Anja van Steenbrugge
21 jaar geleden
 
0 +1 -0 -1
en moet ik mapje van: "thumbsgroot/" en "thumbsnail/" aanmaken?

http://www.cooltennis.nl/fotoboek/thumbsgroot/
http://www.cooltennis.nl/fotoboek/thumbsnail/

zo moet hij dus worden? Beide map 777 maken?
Voor rest was het alleen begin regel aan te passen?
Arjan Kapteijn
Arjan Kapteijn
21 jaar geleden
 
0 +1 -0 -1
thumbs mappen gaan automatisch.
Anja van Steenbrugge
Anja van Steenbrugge
21 jaar geleden
 
0 +1 -0 -1
Hmm, als ik hierna kijk: http://www.cooltennis.nl/fotoboek/ werkt hij niet?
Arjan Kapteijn
Arjan Kapteijn
21 jaar geleden
 
0 +1 -0 -1
Regel 74 even aanpassen, hij verwacht een map fotoalbum, niet fotoboek gok ik.
Anja van Steenbrugge
Anja van Steenbrugge
21 jaar geleden
 
0 +1 -0 -1
Nee het lukt niet...
Arjan Kapteijn
Arjan Kapteijn
21 jaar geleden
 
0 +1 -0 -1
74 t/m 78 even weghalen dan.
Anja van Steenbrugge
Anja van Steenbrugge
21 jaar geleden
 
0 +1 -0 -1
Ja heb het weg gehaald, nu krijg ik dit: http://www.cooltennis.nl/fotoboek/
klopt dat iets met 193 moet aanpassen, wat ik zie staan?
Arjan Kapteijn
Arjan Kapteijn
21 jaar geleden
 
0 +1 -0 -1
Je zult de fotoboek map wel voldoende rechten moeten geven zodat php kan lezen en schrijven.
Anja van Steenbrugge
Anja van Steenbrugge
21 jaar geleden
 
0 +1 -0 -1
Dat begrijp ik even niet?
Leo
Leo
21 jaar geleden
 
0 +1 -0 -1
Je moet je mappen ff op chmod 0777 zetten.
Anja van Steenbrugge
Anja van Steenbrugge
21 jaar geleden
 
0 +1 -0 -1
ja heb alle mappen 777 ?
Anja van Steenbrugge
Anja van Steenbrugge
21 jaar geleden
 
0 +1 -0 -1
Ik snap er niks meer van? Kan iemand goede volgorden wat ik/hoe ik moet beginnen?
PHP Newbie
PHP Newbie
21 jaar geleden
 
0 +1 -0 -1
1. script kopieren
2. script plakken
3. de map waar de foto's inkomen 0777 rechten geven
4. regels 74 t/m 78 even weghalen

5. klaar
Roy Bongers
Roy Bongers
21 jaar geleden
 
0 +1 -0 -1
Hoe zit het nu kwa performance? Je leest bij elke pagina aanroep de complete directory in terwijl je altijd maar max 10 afbeeldingen weer geeft. Als je 1000 afbeeldingen hebt denk ik dat 't een zwaar script wordt of vergis ik me daarin?

Ik ben zelf ook nog aan 't klooien met een gallery script en ik vind deze oplossing zonder db wel mooi omdat je dan altijd hele makkelijk dingen kan toevoegen en verwijderen maar volgensmij moet je dat gemak inleveren kwa performance. Elke keer die getimagesize() functie aanroepen kost ook wat tijd gok ik.
Arjan Kapteijn
Arjan Kapteijn
21 jaar geleden
 
0 +1 -0 -1
Er worden maar 1x thumbs aangemaakt, dus qua performance zal het wel mee vallen. Het uitlezen van een directory (trouwens maar 1 niveau diep ey, hij gaat niet iedere keer alles uitlezen maar alleen de map) is ook niet echt iets wat enorm ingewikkeld is.

Maareh, test het uit en post je bevindingen. Maak een map, kopier je fotos er duizend keer in en ik hoor het graag. Functies als getimagesize zijn trouwens supersnel hoor... het is niet veel trager dan iets simpels als het opvragen van de naam of grootte van een bestand.
Roy Bongers
Roy Bongers
21 jaar geleden
 
0 +1 -0 -1
Scenario:
- 1000 afbeeldingen
- 451KB per stuk
- 1 folder

Resultaten:
Inc thumbs maken: 77.2540390491 sec
Zonder thumbs: 0.379910945892 sec
Zonder thumbs en zonder getimagesize(): 0.206474065781 sec

Bij 15 afbeeldingen met gemaakte thumbs en getimagesize() ingebouwt krijg je 't volgende resultaat:
Gemiddeld: 0.011794090271

Mijn gallery script (DB + array's doorlopen)
Gemiddeld: 0.138227939606 sec
Uitschieters: 0.00556397438049 sec

Deze resultaten zijn slechts een indicatie. Maar ze zijn in mijn ogen wel duidelijk. Het aanmaken van thumbs wil je niet door een bezoeker laten doen! Verder scheelt het nog wel aardig in performance als je die getimagesize() functie er uit kan schrappen. 't is toch elke keer weer 0.2 sec ongeveer.

conclusie: Bij lage aantallen per sub folder is dit script best ideaal. Het enige grote nadeel zit em dan nog bij het maken van de thumbs wat schadalig lang duurt. Wil je echter grotere aantallen kunnen verwerken of aan de toekomst denken zul je een gallery script mbv een database moeten hebben.
Arjan Kapteijn
Arjan Kapteijn
21 jaar geleden
 
0 +1 -0 -1
Duidelijk, geen PHP_GD geinstalleerd.
Bert
Bert
21 jaar geleden
 
0 +1 -0 -1
>> Fotoalbum >> Muziekfestijn

ik zit met het volgende provleem, ik heb alles volgens de bovenstaabde adviesen gedaan chmod op 777 gezet en ik krijg de volgende fout als ik in de map Muziekfestijn zit en ik dan op Foto album klikt.
>>
--------------------------------------------------------------------------------
Sorry, deze directory kan ik niet openen!
Sorry, deze map is leeg!
wat is er fout ik heb niets veranderd in het script behalve regel 74 t/m 78 weg gehaald.
Arjan Kapteijn
Arjan Kapteijn
21 jaar geleden
 
0 +1 -0 -1
Kijk eens naar de extensie van één van die fotos. Ik gok dat het image/pjpeg's zijn, opzich ook geen punt maar dan moet je die wel toevoegen.
Bert
Bert
21 jaar geleden
 
0 +1 -0 -1
ik zag dat alle extensie op .JPG staan en werkt nog steeds niet
Arjan Kapteijn
Arjan Kapteijn
21 jaar geleden
 
0 +1 -0 -1
Heeft niks te maken met extensies maar met mimetypes. zet op pagina 112 eens: echo $extensie;
Bert
Bert
21 jaar geleden
 
0 +1 -0 -1
ok helaas ben ik maar een beginner en begrijp niet waar ik dat moet zetten is dat op regel 112 en dan met de 4 regels erbij opgetelt of zonder de vier regels?
Arjan Kapteijn
Arjan Kapteijn
21 jaar geleden
 
0 +1 -0 -1
Gewoon na de $extensie = $bestandsgegevens['mime'];
Bert
Bert
21 jaar geleden
 
0 +1 -0 -1
ok werkt nog steeds niet ga morgen wel verder alles eraf gooien en op nieuw beginnen en hopen dat het wel in 1 keer werkt
Arjan Kapteijn
Arjan Kapteijn
21 jaar geleden
 
0 +1 -0 -1
Dat het nog steeds niet werkt is logisch, er veranderd namelijk niks. Maar als er bestanden in die map zitten krijg je een lijst met hun mime-types te zien. Alles verwijderen en opnieuw beginnen zal overigens niks uitmaken, maargoed, dat is blijkbaar jou manier van problemen oplossen.
Bert
Bert
21 jaar geleden
 
0 +1 -0 -1
ja dat begrijp ik, maar ik dacht misschien heb ik iets verkeerd gedaan dus dacht opnieuw beginnen, als ik echo $extensie; neer zet krijg ik boven aan elke pagina het volgende te zien.
image/jpegimage/jpegimage/jpegimage/jpegimage/jpegimage/jpegimage/jpegimage/jpegimage
Arjan Kapteijn
Arjan Kapteijn
21 jaar geleden
 
0 +1 -0 -1
Dat betekend dat er wel jpeg bestanden instaan. In theorie zou hij ze dan ook moeten toevoegen aan de bestanden array.

Ze eens onderaan de pagina:
print_r($bestanden);
Bert
Bert
21 jaar geleden
 
0 +1 -0 -1
nu zie je op de eerste pagina onderaan array ()
en pagina met thumbs het volgende te zien;
Array ( [0] => IMGP1154.JPG [1] => IMGP1156.JPG [2] => IMGP1157.JPG [3] => enz enz
Arjan Kapteijn
Arjan Kapteijn
21 jaar geleden
 
0 +1 -0 -1
De array is gevuld met fotos, de extensies zijn goed. Met andere woorden, alles zou gewoon prima moeten werken.
Bert
Bert
21 jaar geleden
 
0 +1 -0 -1
kan het aan de php versie liggen of ik las ergens over php GD ofzo iets?
Niek Kasius
Niek Kasius
21 jaar geleden
 
0 +1 -0 -1
ik krijg dit in op mijn scherm
Fotoalbum

Ey kappen nou! Je maakt hem kapot!
PHP Newbie
PHP Newbie
21 jaar geleden
 
0 +1 -0 -1
Ik heb een kleine aanvulling geschreven.

Hierdoor krijg je de 1ste foto uit de thumbsmap op de index pagina van de albums:

vervang

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
//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>';
}

?>


door:

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
<?php
//Als de directories array niet leeg is gaan we die eerst laten zien zodat mensen verder kunnen.
if(!empty($directories))
{

    foreach($directories as $directory)
    {

        unset($img);
        if ($handle = @opendir($map.$directory))
        {

            while (false !== ($file = @readdir($handle)))
            {

                if(is_dir($map.$directory.'/thumbs'))
                {

                    if ($handle = @opendir($map.$directory))
                    {

                        while(($file = @readdir($handle)))
                        {

                            if($file != 'thumbsgroot')
                            {

                                $img = $file;
                            }
                        }
                    }
                }
            }
            @
closedir($handle);
        }


        if(isset($img))
        {

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

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

    echo '<hr>';
}

?>
Niek Kasius
Niek Kasius
21 jaar geleden
 
0 +1 -0 -1
ik snap er geen bal van ik heb een map gemaakt genaamd: fotoos met daarin 1 map fotoalbum (met de fotoos erin ) en de bestanden album.php(het script zoals boven) en album.css, waar volgens mij niks van klopt, want als ik dat include krijg ik de text van die css op mijn scherm te zien boven in het programma. maar dat kan ik wel weg laten. maar nu het programma zelf, als ik album.php heb geopend met Wamp5 via localhost staat er in de map fotoalbum, een map: fotoalbumthumbs en in fotoalbum, de map: tumbs
en op mijn scherm krijg ik het volgende:
Fotoalbum
Fotoalbum

X (vakje voor albeelding) Fotoos

Warning: getimagesize(fotoalbumtumbs) [function.getimagesize]: failed to open stream: No such file or directory in C:\wamp\www\fotoos\album.php on line 29

Warning: Division by zero in C:\wamp\www\fotoos\album.php on line 35

Fatal error: Call to undefined function imagecreatetruecolor() in C:\wamp\www\fotoos\album.php on line 39

als ik op fotoalbum klik
Fotoalbum
Fotoalbum

Fotoos

<< Vorige Pagina 1 van 3 Volgende >>
met bovenstaande warnings in line 29 en 35 en fatal error in line 39

en als ik op fotoos klik krijg ik dit:
Fotoalbum
FotoalbumFotoos
Sorry, deze directory kan ik niet openen! Fotoos
Warning: mkdir() [function.mkdir]: No such file or directory in C:\wamp\www\fotoos\album.php on line 199
en behalve deze ook hier weer bovenstaande warnings in line 29 en 35 en fatal error in line 39

en als ik daar op fotoos klik dit:
Fotoalbum
FotoalbumFotoosFotoos

Sorry, deze directory kan ik niet openen! Fotoos
met ook weer die warnigs in line 199, 29 en 35 en fatal error in line 39

als ik dit doe,
//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("fotoos");
$bestanden = array("fotoalbum");
$map = 'tumbs';
krijg ik dit
Fotoalbum
Ey kappen nou! Je maakt hem kapot!

of werkt dat programma soms niet via localhost?
ik gooi het er af en ga wel met iets anders werken want ik heb eens naar de reacties gekeken en gezien dat er nog een tig aantal personen problemen mee hebben.
Ronnie
ronnie
21 jaar geleden
 
0 +1 -0 -1
Hoi Allemaal,

ik heb het volgende probleem: heb dit script op de manier die hierboven staat geinstalleerd, dus mijn php script en appart een map aangemaakt genaamd: fotoalbum. Wat ik ook probeer ik zie niet veel meer dan mijn fotoalbum in mijn browser en als ik daar op klik, dan gebeurt er niets...:(

Heb natuurlijk wel foto's in de map geplaatst. Zowel een gif als een jpg.

Kan iemand mij misschien te hulp schieten?

P.s. heb bovenste script gebruikt zonder aanpassingen.
PHP Newbie
PHP Newbie
21 jaar geleden
 
0 +1 -0 -1
Je moet natuurlijk wel de mappen aanpassen
Ronnie
ronnie
21 jaar geleden
 
0 +1 -0 -1
Hoe bedoel je dat? :p
Tuurlijk heb ik map aangepast. Dat staat hierboven toch al vermeld!! Dat is niet wat ik verkeerd doe volgens mij! Ik moet antwoord van Arjan hebben.
Something Else
Something Else
21 jaar geleden
 
0 +1 -0 -1
geen error ronnie?
if so, post het ff :)
PHP Newbie
PHP Newbie
21 jaar geleden
 
0 +1 -0 -1
Ik moet antwoord van arjan hebben? dan heb je pech, die is op vakantie ;-)

En niet alleen Arjan weet hoe je problemen op kunt lossen, er zitten hier 100en PHP-kenners
Ronnie
ronnie
21 jaar geleden
 
0 +1 -0 -1
Ok, newbie. Laat ik het anders vragen. Wat dien ik dan in inderstaande regels toe te voegen?


$directories = array();
$bestanden = array();
$map = 'fotoalbum/';

En sorry voor mijn vorige reactie maar ik ben net lid, speciaal omdat ik dit script werkend wil krijgen. Maar ik ben op de goede weg. Heb maar even een boek aangeschaft :)
PHP Newbie
PHP Newbie
21 jaar geleden
 
0 +1 -0 -1
$map = 'fotoalbum/'; moet de map zijn waar jij je foto's hebt ingezet, en verder niks
Niek Kasius
Niek Kasius
21 jaar geleden
 
0 +1 -0 -1
ik heb het wel gezien hier met dat script. heb verschillende dingen geprobeerd van andere antwoorden in deze reactie maar niks werkt. dus weg ermee. maar toch bedankt.
PHP Newbie
PHP Newbie
21 jaar geleden
 
0 +1 -0 -1
het werkt bij iedereeen behalve bij jou Niek, raar, ik denk dat je toch ergens een foutje maakt.

Open een topic in het forum, and I believe sombody will help you
Niek Kasius
Niek Kasius
21 jaar geleden
 
0 +1 -0 -1
wat kan ik er nou fout aan doen als ik hele script kopiër en in kladblok plak en dat opsla als album.php in een map die ik fotoos heb genoemd. en daarin ook nog een map fotoalbum in heb gemaakt. want dat is wat er staat bij de toelichting.
Toelichting:
Dus je wilt je fotoverzameling delen met de wereld maar je hebt geen zin in het gebruik van onhandige programma's? Laat PHP het werk voor je doen! Gooi dit bestand ergens neer en maak in dezelfde directory een map fotoalbum. Gooi in die map al je fotos en de rest gaat automatisch. Zodra iemand een foto bekijkt die nog niet gethumbnailed is word dat op dat moment gedaan.

of werkt misschien niet met localhost?

ik heb het nog maar eens opnieuw gemaakt en het oude verwijderd. maar het werkt nog steeds niet krijg wel iets op mijn scherm zoals het zou moeten zijn denk ik, maar krijg weer een . Fatal error: Call to undefined function imagecreatetruecolor() in C:\wamp\www\fotoos\album.php on line 44.

heb ook al geprobeerd met dit boven in te zetten maar zonder resultaat.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
$dbhost="localhost";
$dbuser="";
$dbpass="";
$db="adreslijst";
$mysql_id=mysql_connect("$dbhost","$dbuser","$dbpass");  

Dus zoals je ziet, ik snap het niet meer en geef de moed op en ga me met iest simpelers bezig houden. want php is echt niet zo makkelijk als men zegt op verschillende forums.
PS. in fotoalum heb ik ook mijn foto's gezet en
PHP Newbie
PHP Newbie
21 jaar geleden
 
0 +1 -0 -1
zet er is error_reporting(E_ALL); boven, en kijk of je een error krijgt, ik verwacht dat je geen gdlib hebt...
Niek Kasius
Niek Kasius
21 jaar geleden
 
0 +1 -0 -1
error_reporting(E_ALL); geplaatst op line 2. reactie:=
Fatal error: Call to undefined function imagecreatetruecolor() in C:\wamp\www\fotoos\album.php on line 40
error_reporting(E_ALL); geplaatst op line 39. reactie= error op 40.
ik zou anders niet weten wat je bedoeld.
heb al eens gekeken in de hollandse versie van De Bibel van "Tim Converse & Joyce Park". waar iets staat op pagina 807, over gd-bibliotheek en waar je dat kunt downloaden op www.boutell.com/gd. maar ik zou niet weten wat.
en daarbij in een ander php script werken mijn foto's wel, hetzij onder java script maar geinclude in php.
PHP Newbie
PHP Newbie
21 jaar geleden
 
0 +1 -0 -1
je moet maar 1x error_reporting(E_ALL); neerzetten, en dat is helemaal bovenaan je script

Ik gok dat het ligt aan je localhost, upload het is naar een server ;-)
Ronnie
ronnie
21 jaar geleden
 
0 +1 -0 -1
@PHP Newbie: Dus als ik jou reactie zo lees is dat hetgeen ik verkeerd doe. Ik moet eerst GD-library installeren?
Ronnie
ronnie
21 jaar geleden
 
0 +1 -0 -1
P.s. Is dat de GD-devel package die ik moet installeren om dit script werkend te krijgen?
Arian Stolwijk
Arian Stolwijk
21 jaar geleden
 
0 +1 -0 -1
Dit script is geweldig :D
Die gallery 2 of coppermine zijn misschien iets uitgebreider, maar deze is net zo functioneel.
Niek Kasius
Niek Kasius
21 jaar geleden
 
0 +1 -0 -1
wat ik al zei error_reporting(E_ALL); geeft niks aan behalve dat die de fatal error van line 40 naar line 41 verplaatst doordat er 1 regen bij is gekomen. ik had dat al eens gedaan en dan niet twee keer maar eerst in line 2 geplaatst onder
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php en omdat dat niks opleverde heb ik het daarna in line 39 geprobeerd omdat die error melding in line 40 zit. maar het resultaat blijft het zelfde. ik dacht probeer dat ook maar ff kwaad kan het nooit want niet geschoten is altijd mis. toch? en dat andere is geen optie ik kan niet naar mijn server uploaden omdat mijn eigen server geen php en mysql ondersteund. ik heb een site aan het maken voor  de dartvereniging en die willen een host  nemen met een eigen domeinnaam die php5 en mysql ondersteund
PHP Newbie
PHP Newbie
21 jaar geleden
 
0 +1 -0 -1
Ronnie, dat weet ik zo niet,

Niek, tsjah, als je geen host hebt waarop je iets uit kunt proberen, dan heb je, volgens je eigen woorden, de helft van al je scripts 'wel gezien'
Abco Janse
Abco Janse
21 jaar geleden
 
0 +1 -0 -1
Het werkt half bij mij...

De foto's laat hij zien.. maar als ik er op klik om de foto uit te vergroten, dan gaat hij terug naar mijn index.php.

waar ligt dat aan ?

ik ben noob hoor in php ;)
Marnix
Marnix
21 jaar geleden
 
0 +1 -0 -1
Ik heb nog steeds problemen met verwijderen. Via FTP wil het niet, noch via DirectAdmin... Wat moet ik hieraan doen?
Lissy Pixel
Lissy Pixel
21 jaar geleden
 
0 +1 -0 -1
@ Marnix : doordat je het script de eigenaar wordt van de fotos kun je zelf dit niet verwijderen of d.m.v. bijv. deze oplossing:

Is logisch opzich, als PHP iets opslaat is PHP de eigenaar en niet jij :).
Weet je welke gebruikersnaam jij hebt?

Na de imagejpeg() in de functie die thumbnails plaats kan je het volgende toevoegen:

chown($map.$thumblocatie.$bestandsnaam,'jougebruikersnaam');

In theorie ben jij dan de gebruiker en zou je die thumbnails moeten kunnen verwijderen.

Overigens, voor chown heb je ook weer rechten nodig dus ik weet niet of dat gelijk gaat lukken.

Wellicht kan je de vraag beter bij je hoster leggen.
Suc6 in iedergeval.
Hans Versteegen
Hans Versteegen
21 jaar geleden
 
0 +1 -0 -1
Hallo,
ik heb hetzelfde probleem met het verwijderen...
Ik krijg ze gewoon niet weg. Zodra ik de CHMOD wil veranderen krijg ik ook aangegeven dat de permision denied is. Kan ik via een scriptje de CHMOD aanpassen? Zoja, hoe ziet dit script eruit? Ik zou het prettig vinden als ik de onnodige mappen (en foto's) zou kunnen verwijderen...
Overigens heb ik het geprobeerd om dat stukje van CHOWN erbij te zetten. Maar daarbij krijg ik deze foutmelding:
Warning: chown(): Unable to find uid for dedooormijopgegeven gebruikersnaam in /de directorie/fotoalbum.php on line 105.
Ronnie
ronnie
21 jaar geleden
 
0 +1 -0 -1
Ok, nog een vraagje. Het lijkt te werken maar ik zie nog geen foto's. Ik heb nu een map 'hongarije' aangemaakt binnen map 'fotoalbum'. Daar foto''s in geplaatst. Ik zie nu wel dat er een mapje thumbs is aangemaakt. Moet ik nu nog iets aanpassen aan het script of heeft het met rechten van bepaalde mappen te maken?
Hans Versteegen
Hans Versteegen
21 jaar geleden
 
0 +1 -0 -1
Het moet idd ge CHMOD worden als 777.
Herbert Foppen
Herbert Foppen
21 jaar geleden
 
0 +1 -0 -1
Hoi allemaal,

ik heb het volgens mij redelijk aan de praat, alleen krijg ik op de beginpagina over aan [x] te staan als plaatje voor de map.

Wat doe ik hier verkeerd? Of beter: hoe kan ik dit oplossen :)
Hans Versteegen
Hans Versteegen
21 jaar geleden
 
0 +1 -0 -1
Hallo,
ik heb nog een probleem en dat is hoe ik nu de foto's netjes in rijtjes van 3 bij 3 kan krijgen. Dus 3 foto's boven elkaar, 3 naast elkaar. En als het er meer zijn dus een volgende vorige functie. Bijvoorbeeld met tabelletje?
Hopelijk kan iemand me hiervan een kort voorbeeld scriptje laten zien. Ik heb al één en ander gelezen over het werken met DIV-jes en DIV Width maar dit krijg ik niet werkend. Suggesties iemand? BVD.
Mart
Mart
21 jaar geleden
 
0 +1 -0 -1
Edit: vertel gewoon wat er moet worden aangepast ipv een boekwerk copy-pasten.
Arjan Kapteijn
Arjan Kapteijn
21 jaar geleden
 
0 +1 -0 -1
Herbert Foppen, je moet dat plaatje wel hebben. Als je dat script kopierd moet je dus ook eventjes dat mapje-plaatje kopieren en op je webspace zetten. Maar dat lijkt mij logisch.

Niek, bitchen op mijn script heeft geen zin. Jou server ondersteund geen GD, dat heeft niks met mijn script te maken. Error reporting aanzetten heeft ook geen nut want ik schrijf mijn scripts al met error reporting op zijn hoogst.

Verder ben ik net thuis van vakantie. Ik ga niet reageren op alle posts omdat ik niet weet of dingen ondertussen zijn opgelost. Als je nogsteeds problemen heb kan je vanaf nu weer reageren of mij even een PM sturen :).
Ronnie
ronnie
21 jaar geleden
 
0 +1 -0 -1
Beste Arjan, bij mij lukt het me nog steeds niet werkend te krijgen. Ik zie nog geen foto's. Ik heb nu een map 'hongarije' aangemaakt binnen map 'fotoalbum'. Daar foto''s in geplaatst. Ik zie nu wel dat er een mapje thumbs is aangemaakt. Moet ik nu nog iets aanpassen aan het script of heeft het met rechten van bepaalde mappen te maken? Ik heb de map fotoalbum de rechten CHMOD 0777 toegekend maar dit mag helaas niet baten...

P.s. ik heb zowel .jpg als .gif foto's in de map geplaatst.
Arjan Kapteijn
Arjan Kapteijn
21 jaar geleden
 
0 +1 -0 -1
Er zat een foutje met betrekking tot het resize in de code. Hij nam geen moeite om te kijken naar de maximale breedte zo nu en dan ;). Dat is nu gefixed.
Martijn Roverts
Martijn Roverts
21 jaar geleden
 
0 +1 -0 -1
Beste Arjan,
Ik gebruik dit script met veel plezier, super eenvoudig handig in gebruik. HULDE!!

Enige nadeel vind ik dat de foto's en de directories op willekeurige volgorde worden weergegeven (http://www.okk70.nl/fotoalbumv2.1.php?map=fotogallerij/Seizoen%202005-2006).
Dit zou mooier zijn als ze netjes op alfabetische volgorde stonden. Heb geprobeerd om de Array's te sorteren (http://nl2.php.net/manual/nl/function.array-multisort.php) met mijn beperkte PHP kennis, maar dat is me niet gelukt. Heb helaas niet de kennis in huis om dit op te lossen. Als iemand mij er mee wilt helpen, zou dit geweldig zijn!
Arjan Kapteijn
Arjan Kapteijn
21 jaar geleden
 
0 +1 -0 -1
Ik heb het even getest, hier staan ze standaard al in de goede volgorde. Maargoed, ben nu druk dus wil er vanavond misschien nog wel even naar kijken.
Bo az
Bo az
21 jaar geleden
 
0 +1 -0 -1
En als je op regel 137 sort($directories) toevoegt?
Martijn Roverts
Martijn Roverts
21 jaar geleden
 
0 +1 -0 -1
@Boaz
Thanx! Dat heeft gewerkt voor de directories (wel een ; erachter zetten natuurlijk ;) ), die staan nu op de juiste volgorde
http://www.okk70.nl/fotoalbumv2.2.php?map=fotogallerij/Seizoen%202005-2006/

De foto's worden nog wel in willekeurige volgorde geplaatst, maar als je op regel 164 sort($bestanden); toevoegd dan is dat volgens mij ook opgelost.
Martijn Roverts
Martijn Roverts
21 jaar geleden
 
0 +1 -0 -1
Herstel dit is beter als je dat doet op regel 147, anders sorteert hij alleen de thumbs en niet de links. Thanx for the help!!!
Marijn
Marijn
21 jaar geleden
 
0 +1 -0 -1
Hallo allemaal,
ook ik ben begonnen met dit script te gebruiken en ben zeer tevreden. Ik heb alleen twee problemen die al uitvoerig besproken zijn, maar waar ik (ondanks jullie uitleg) toch niet uitkom.
1. Ik wil de thumbs in een divje zetten, maar waar in het script moet dit gebeuren? Ik heb het nu zo ver gekregen dat ik ze allemaal onder elkaar krijg, en dat is niet de bedoeling...
2. Ik kan, net als zoveel mensen, de thumbmappen niet verwijderen. Ik zag al dat er een scriptje is gemaakt hiervoor, maar aangezien ik op iemand anders z'n account werk durf ik dat niet zo makkelijk aan.

Inmiddels gebruik ik versie 2 van het script, waardoor de rechten meteen goed zouden staan, maar goed, mijn oude mappen (met inhoud) staan er dus nog.

Ik hoor graag van jullie!
Marijn
PHP Newbie
PHP Newbie
21 jaar geleden
 
0 +1 -0 -1
Ik heb is een foto album gemaakt, ik zie wel wat erin komt.

Ik heb wat aan het script liggen rommellen, wat weggehaald, en erbij gedaan, en ik ben uitgekomen op: http://fotoalbum.chess-web.nl/
Ruiter
Ruiter
21 jaar geleden
 
0 +1 -0 -1
Hallo,

Dit script is precies wat ik nodig heb! alleen loop ik jammer genoeg tegen een probleem op.

ik heb precies alle stappen gevolgd: script exact gekopieerd, opgeslagen als album.php in de map gallery. Vervolgens in deze map de map fotoalbum aangemaakt, met daarin jpgtjes.

Dit heb ik geupload. Maar als ik abum.php open krijg ik deze foutmelding:

Warning: imagejpeg(): Unable to open 'fotoalbum/thumbs/DSCF0021.JPG' for writing in /home/sites/www.ruiterjanssen.nl/web/gallery/album.php on line 53

Dus wie kan mij vertellen wat er loos is?
bij voorbaat tnx
Ruiter
Lissy Pixel
Lissy Pixel
21 jaar geleden
 
0 +1 -0 -1
effies CHmod doen op de server en de correcte rechten geven zoals ook al eerder is gevraagd in de toppics :)
Arjan Kapteijn
Arjan Kapteijn
21 jaar geleden
 
0 +1 -0 -1
Vreemd, jij gebruikt gallery maar hij opent fotoalbum... Ik heb een nieuwe versie geschreven, deze heeft ook een administratie waarmee je mappen en bestanden kunt verwijderen.

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                = 'fotoalbum';

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

$hoogte_groot             = 600;
$breedte_groot             = 380;

$afbeeldingenperpagina    = 15;
?>


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);
    }
}


?>


Admin.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
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Test</title>

<style type="text/css">
html, body {
    font: 12px verdana,arial,sans-serif;
    height: 100%;
    text-align: justify;
}

img.centreren {
    vertical-align:middle;
    margin: 5px;
    border: 0px;
}

img.thumbs {
    vertical-align:middle;
    border: 0px;
    margin: 10px;
    border: 1px solid black;
}

img.groot {
    vertical-align:middle;
    border: 0px;
}
</style>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15">

</head>
<body>

<?php
echo '<h1>Admin</h1>';

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>';
}


if($_SERVER['REQUEST_METHOD'] == 'POST')
{

    if(isset($_POST['verwijderenfoto']))
    {

        foreach($_POST['verwijderenfoto'] as $fotonr)
        {

            if(file_exists($map.$bestanden[$fotonr]))
            {

                unlink($map.$bestanden[$fotonr]);
                
                if(file_exists($map.'thumbs/'.$bestanden[$fotonr]))
                {

                    unlink($map.'thumbs/'.$bestanden[$fotonr]);
                }

                
                if(file_exists($map.'thumbsgroot/'.$bestanden[$fotonr]))
                {

                    unlink($map.'thumbsgroot/'.$bestanden[$fotonr]);
                }

                
                unset($bestanden[$fotonr]);
            }
        }
    }

    
    if(isset($_POST['verwijderendirectory']))
    {

        foreach($_POST['verwijderendirectory'] as $dirnr)
        {

            if(file_exists($map.$directories[$dirnr].'/thumbs/'))
            {

                remove_directory($map.$directories[$dirnr].'/thumbs/');
            }

            
            if(file_exists($map.$directories[$dirnr].'/thumbsgroot/'))
            {

                remove_directory($map.$directories[$dirnr].'/thumbsgroot/');
            }

            
            remove_directory($map.$directories[$dirnr]);
            unset($directories[$dirnr]);
            
            echo '<p>Verwijderd!</p>';
        }
    }
}


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

    echo '<form action="" method="post">';
    foreach($directories as $key => $directory)
    {

        echo '<input type="checkbox" name="verwijderendirectory[]" value="'.$key.'"><img src="afbeeldingen/folder.gif" class="centreren"><a href="?map='.$map.$directory.'">'.ucfirst($directory).'</a><br>';
    }

    
    echo '<br><input type="submit" name="Wissen" value="Wissen"></form>';
    echo '<hr>';
}



if(!empty($bestanden))
{

    echo '<form action="" method="post">';
    foreach($bestanden as $fotonr => $key)
    {

        //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 '<input type="checkbox" name="verwijderenfoto[]" value="'.$fotonr.'"><a href="?map='.substr_replace($map,"",-1).'&amp;foto='.($fotonr+1).'" style="border: 0px;"><img src="'.$map.'thumbs/'.$bestanden[$fotonr].'" class="thumbs"></a><br>';
        }
    }
    
    echo '<br><input type="submit" name="Wissen" value="Wissen"></form>';
}


?>

</body>
</html>


Fotoalbum.php
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Test</title>

<style type="text/css">
html, body {
    font: 12px verdana,arial,sans-serif;
    height: 100%;
    text-align: justify;
}

img.centreren {
    vertical-align:middle;
    margin: 5px;
    border: 0px;
}

img.thumbs {
    vertical-align:middle;
    border: 0px;
    margin: 10px;
}

img.groot {
    vertical-align:middle;
    border: 0px;
}
</style>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15">

</head>
<body>

<?php
echo '<h1>Fotoalbum</h1>';

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).'" style="border: 0px;"><img src="'.$map.'thumbs/'.$bestanden[$fotonr].'" class="thumbs"></a>';
            }
        }
    }
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" style="border: 0px;"><img src="'.$map.'thumbsgroot/'.$bestanden[$fotonr].'" class="groot" title="'.$bestanden[$fotonr].'"></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>';
        }    
    }
}

?>

</body>
</html>
Ruiter
Ruiter
21 jaar geleden
 
0 +1 -0 -1
Hey Arjan,

dit is de link,
http://ruiterjanssen.nl/gallery/album.php
ik krijg dus bij elke thumbnail zon error
Arjan Kapteijn
Arjan Kapteijn
21 jaar geleden
 
0 +1 -0 -1
PHP heeft blijkbaar geen schrijfrechten in die map. Heeft die fotoalbum map wel een goede chmod gekregen? Voeg anders na een mkdir() een extra chmod toe.
Ruiter
Ruiter
21 jaar geleden
 
0 +1 -0 -1
hoe voeg je hier een chmod bij?

{
mkdir($map.'thumbsgroot/',0777);
}
Arjan Kapteijn
Arjan Kapteijn
21 jaar geleden
 
0 +1 -0 -1
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
chmod();
?>
Ruiter
Ruiter
21 jaar geleden
 
0 +1 -0 -1
dan krijg ik deze melding:


Warning: Wrong parameter count for chmod() in /home/sites/www.ruiterjanssen.nl/web/gallery/chmod.php on line 2
Arjan Kapteijn
Arjan Kapteijn
21 jaar geleden
 
0 +1 -0 -1
Je hebt toch wel parameters meegegeven?
PHP Newbie
PHP Newbie
21 jaar geleden
 
0 +1 -0 -1
Je mooiere versie met tabjes doet het niet ;-)
Arjan Kapteijn
Arjan Kapteijn
21 jaar geleden
 
0 +1 -0 -1
Thx voor het melden, de code is zovaak gewijzigd dat ik dat niet meer bijgehouden heb.
PHP Newbie
PHP Newbie
21 jaar geleden
 
0 +1 -0 -1
heb de mooiere versie eigenlijk nooit gezien, he je hem nog ergens staan?
Jurgen B
Jurgen B
21 jaar geleden
 
0 +1 -0 -1
Ik maak nu ook gebruik van het script! Het werkt super hardstikke bedankt! Komt er ook een V3 waarbij je zelf de bestanden kan uploaden via de site?
Arjan Kapteijn
Arjan Kapteijn
21 jaar geleden
 
0 +1 -0 -1
Dat is zo simpel... Die 20 regels die je daar voor nodig hebt kan je ook zelf invoegen.
Lissy Pixel
Lissy Pixel
21 jaar geleden
 
0 +1 -0 -1
Weetje Arjan een tip wellicht voor je (en dit bedoel ik niet lullig) maar voor mensen die niet zo goed zijn in het maken van aanvulling en/of scripts is het wellicht handig als je deze zoals jij zegt 20 regels hier neer zet en dan ook waar dit eventueel zou moeten staan in jouw script dan hebben mensen er wat aan.

Zoals je het nu neerzet durft een onervaren PHP'er echt niet meer te vragen van hoe ziet die code er dan uit wanneer ze dit ook graag zouden hebben. PHPhulp staat toch voor helpen en laagdrempeligheid...

Ik zeg niet dat je niet helpt want dat doe je zeker altijd en keer op keer maar het viel me nu gewoon op en dacht ik zet dit er effies neer.
Arjan Kapteijn
Arjan Kapteijn
21 jaar geleden
 
0 +1 -0 -1
Ik heb al zo ongelovelijk veel scripts voor jan en alleman gemaakt. En er is zo ongelovelijk veel misbruik gemaakt van mijn 'goedheid' dat ik soms avonden bezig ben voor iedereen waar ikzelf niks van zie. Dat nieuwssysteem heb ikzelf ook nooit gebruikt maar heb ik puur geschreven voor jullie hier op PHPHulp. Enig idee hoeveel tijd daar inzit? Enig idee wat ik daar ooit voor heb teruggezien?

Ik voel mij een aapje die door iedereen gebruikt kan worden om maar lekker scripts voor te kauwen. Verdomme, ik ben een mens, ik beslis zelf wat ik doe.
Jurgen B
Jurgen B
21 jaar geleden
 
0 +1 -0 -1
uhmm Sorry hoor :S
Lissy Pixel
Lissy Pixel
21 jaar geleden
 
0 +1 -0 -1
Oops.... ik wil je niet boos maken of gestress of zo... Sorry hoor....
Dan gewoon maar niet meer doen hè dan word je ook niet 'misbruikt'.
- wes  -
- wes -
21 jaar geleden
 
0 +1 -0 -1
Arjan het is jouw script, als het 'maar 20 regels' zijn, lijkt het me slim dat jij dat zelf goed in je script zet.

Als leek breekt het zweet je uit als je een stuk code van 600 regels ziet waar je iets in moet bouwen.

In the end is het jouw projectje dus lijkt me niet meer dan normaal dat je zelf zoiets oppakt.

Als ik naar een garage ga met mn auto voor winterbanden zeggen ze toch ook niet, ach dat is 20min werk, dat kan je er zelf ook wel opzetten...
Arjan Kapteijn
Arjan Kapteijn
21 jaar geleden
 
0 +1 -0 -1
Dus Wes, ik heb nog een aantal dingen die ik graag wil hebben... kan ik jou het lijstje mailen zodat jij die dingen voor mij kunt maken?
- wes  -
- wes -
21 jaar geleden
 
0 +1 -0 -1
Automatisch Fotoalbum V2
Niveau: Beginner
PHP versie: 4+
Categorie: GD Graphics Library
Voorbeeld: http://www.i-cey.n....lbum&map=fotoalbum

Door Arjan Kapteijn op 07.06.2006


Door wie? Juist

Jij snapt het niet
Arjan Kapteijn
Arjan Kapteijn
21 jaar geleden
 
0 +1 -0 -1
Okay, dan denk ik dat ik mijn scripts maar ga verwijderen. Ik vind het leuk om te scripten maar niet om dan vervolgens jan en allemaal te moeten helpen omdat dat mijn verplichting is als maker van het script.
Lissy Pixel
Lissy Pixel
21 jaar geleden
 
0 +1 -0 -1
Tja... de term jan en alleman is denk ik wel van toepassing en geldt voor alle leden hier op PHPhulp. Dit komt zo als jij dit stelt in deze context niet echt sympathiek over.
- wes  -
- wes -
21 jaar geleden
 
0 +1 -0 -1
Zeg ik ergens, ERGENS dat het je plicht is?

Jij hamerd altijd op goede scripts alles moet passen en correct zijn. Als jan en alleman 20 minuten in je script gaat kloten, lijkt het me zelf verstandig dat als er genoeg animo voor is dat er zelf in te zetten, heeft iederen het goed. Tis ook niet dat dit een los script is, het is een fotoalbum met meerdere bestanden en functies
PHP Newbie
PHP Newbie
21 jaar geleden
 
0 +1 -0 -1
Klik op mijn naam en kijk naar het fot upload script o.i.d.

je kunt toch zelf ook wel een upload script zoeken....
Jurgen B
Jurgen B
21 jaar geleden
 
0 +1 -0 -1
@ PHP Newbie

Ik gebruik je script al maar deze werkt niet helemaal proper.

Zou je mijn reactie eens willen lezen in je script en kijken of het probleem je bekend voor komt of hoe het opgelost kan worden?
Marnix
Marnix
21 jaar geleden
 
0 +1 -0 -1
Hey Arjan ik heb je script nu werkend en aangepast voor mijn eigen website. Er is alleen 1 ding dat ik opmerk:
Je kunt geen ' gebruiken in mapnamen. Dan geeft hij aan dat er iets fout zit. Hoe kun je dit oplossen?
Arjan Kapteijn
Arjan Kapteijn
21 jaar geleden
 
0 +1 -0 -1
Door addslashes() toe te voegen, maar dan moet je ook weer stripslashes gebruiken omdat hij anders opzoek gaat naar vage mappen.
Marnix
Marnix
21 jaar geleden
 
0 +1 -0 -1
Bedankt voor het antwoord, maar ik weet niet hoe je dat in moet bouwen. Ik zou hopeloos in de war raken.

Mocht je geïnterreseerd zijn in wat ik van jou script heb gemaakt, bezoek dan deze pagina:
http://marnixsmit.nl/html/fotoalbum/fotoalbum.php?map=fotos
Anja van Steenbrugge
Anja van Steenbrugge
21 jaar geleden
 
0 +1 -0 -1
Hallo,

Na een tijdje ging ik maar toch opnieuw proberen of ik nu uiteindelijk zal uitkomen. Er is al iets verbeterd wat nu wel werkt. Nu nieuwe erro.

http://www.cooltennis.nl/fotoboek/
Ik weet niet wat ik nu moet doen.
Kan iemand me helpen?

Alvast bedankt.
Met vriendelijke groetjes:
Anja v. Steenbrugge
Pieter Boussaer
Pieter Boussaer
21 jaar geleden
 
0 +1 -0 -1
@ anja, je hebt geen mappen in je map fotoboek staan.
Marnix
Marnix
21 jaar geleden
 
0 +1 -0 -1
Of je hebt in configuratie.php niet de beginmap aangepast.
Arjan Kapteijn
Arjan Kapteijn
21 jaar geleden
 
0 +1 -0 -1
Anja, je zou de index.php een niveau lager moeten plaatsen. Even hernoemen naar fotoalbum.php dan kan je er gewoon goed bij. Het is niet de bedoeling om het bestand in de map fotoalbum te zetten, maar ervoor. Anders zou je nu een map fotoalbum moeten aanmaken 'in' de map fotoalbum ;). Als je het niet snapt, mijn mail staat in mijn profiel.
Anja van Steenbrugge
Anja van Steenbrugge
21 jaar geleden
 
0 +1 -0 -1
Zal eens erna kijken....
Niek Kasius
Niek Kasius
21 jaar geleden
 
0 +1 -0 -1
nou ik heb nu het script PHP photoalbum van Jasper dat in PHPscript/beginners staat en dat doet volgens mij het zelfde als bovenstaand script. alleen dat script werkt wel gewoon met localhost, en niks veranders of uplouden naar een server zoals
PHP Newbie schreef op 17.07.2006 00:42

Niek, tsjah, als je geen host hebt waarop je iets uit kunt proberen, dan heb je, volgens je eigen woorden, de helft van al je scripts 'wel gezien'

ik krijg nu een site in beeld met tumbnails en als ik er op een klik krijg ik een grote foto te zien.
Alleen snap ik niet waarom ik dit bovenstaand script niet aan de praat krijg.
Pieter Boussaer
Pieter Boussaer
21 jaar geleden
 
0 +1 -0 -1
hallo, ik heb een probleem,
in FF werkt het perfect maar in IE niet. kunnen jullie eens kijken.
www.kljzaffelare.be/home.php?menu=foto

De foto's worden in IE naast elkaar gezet en in FF naast en onder.
Normaal moeten er 4 naast een staan en 3 onder elkaar.

Grtzz Pieter

Edit:
Al opgelost
Maarten
Maarten
21 jaar geleden
 
0 +1 -0 -1
Ik heb ook nog steeds een probleem.
Ik krijg continue de melding:
Fotoalbum
Ey kappen nou! Je maakt hem kapot!

Nogal irritant:p
Oplossing voor?
Ellen
Ellen
21 jaar geleden
 
0 +1 -0 -1
Alle mappen die erin staan zou ik graag op alfabetische volgorde willen hebben!
Dat gebeurd nu niet (altijd) Hoe kan ik dat erin zetten?
Rocky
Rocky
21 jaar geleden
 
0 +1 -0 -1
Ik krijg deze fout ?
Parse error: syntax error, unexpected T_STRING in /home/decoratie/domains/decoratiehandel.nl/public_html/extra/fotoextra.php on line 1060
Marijn
Marijn
21 jaar geleden
 
0 +1 -0 -1
Hallo, ik heb dit script gebruikt voor de website van mijn zoontje (http://www.ikbentimme.nl). Ik ben heel erg tevreden!
Nu zou graag op mijn index de laatst upgeloade foto willen laten zien. Ik ben dus op zoek naar een scriptje wat "ziet" welke foto er in de map fotoalbum er het laatst bij is gekomen. Dit is alleen al moeilijk, want in die map zitten weer mappen met daarin weer mappen en dan dus de thumbsmap (volg je het nog?).
Zodra hij die heeft gevonden mag hij hem weergeven (op een andere pagina dan het fotoalbum) en linken naar de juiste map van het fotoalbum.
Ik ben nog een enorme beginner (kan alleen een beetje Flash Actionscript) en kom er dus totaal niet uit. Heb al een beetje gepuzzelt met het scriptje van Newbie, maar omdat hij het in fotalbum.php geïntegreerd heeft kom ik er niet uit.

Wie kan me helpen?
Groetjes!
Marijn
Claes Bjorn
Claes Bjorn
21 jaar geleden
 
0 +1 -0 -1
hallo ik ben beginned phper. maar ik heb een vraagje. als ik het script uitvoer krijg ik deze foutmelding. Fatal error: Call to undefined function imagecreatetruecolor() in /var/www/functies.php on line 24. wat doe ik hier mis ?
Eris -
Eris -
21 jaar geleden
 
0 +1 -0 -1
Geen GD geintaleerd
Mhoogwerf
mhoogwerf
21 jaar geleden
 
0 +1 -0 -1
Hallo
Bedankt voor het script.
Hij werkt nu(na tijdje prutsen), alleen wil ik graag het fotoalbum in mijn main-gedeelte van mijn pagina hebben. Als ik het open buiten de pagina om doet hij het gewoon. Maar als ik hem in mijn main-gedeelte heb, zie ik wel de verschillende mappen met foto's, maar als ik deze dan wil openen springt hij weer terug naar home.
Iemand die weet wat ik moet toevoegen/veranderen? Dat zou heel erg mooi zijn.
Arjan Kapteijn
Arjan Kapteijn
21 jaar geleden
 
0 +1 -0 -1
Ligt eraan hoe jou pagina systeem werkt... kijk naar de linkjes die jou website gebruikt en hoe die van mijn fotoalbum eruit komen te zien.
Claes Bjorn
Claes Bjorn
21 jaar geleden
 
0 +1 -0 -1
ik heb momenteel juist jouw script staan en men map met fotos ook fotoalbum genoemd. had dit gedaan om te kijken of mijn php wel werkte. gd is zeker en vast installed heb ik als eerste naar gekeken. ik werk zelf met ubuntu linux 6.06 lts. probeer de site momenteel gewoon uit op eigen webserver
Arjan Kapteijn
Arjan Kapteijn
21 jaar geleden
 
0 +1 -0 -1
Wat zegt
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php phpinfo(); ?>
Claes Bjorn
Claes Bjorn
21 jaar geleden
 
0 +1 -0 -1
hoe bedoel je ?
die code ken ik want heb daarmee gekeken of php op men server werkte. ma wat moet ik zien in php info?
Claes Bjorn
Claes Bjorn
21 jaar geleden
 
0 +1 -0 -1
heb het in orde gekregen had gd voor php zelf niet geinstallerd en had ook de xpm versies van de normale geinstaleerd. toch al bedankt voor dit mooie script
Twan
Twan
21 jaar geleden
 
0 +1 -0 -1
Ik krijg de hele tijd een foutmelding dat ik geen toegang heb om dingen te veranderen???

Warning: mkdir(fotoalbum/s10a/thumbs/): Permission denied in /var/www/vhosts/s10a.nl/httpdocs/fotos/index.php on line 229

Warning: imagejpeg(): Unable to open 'fotoalbum/s10a/thumbs/IMG_4918.jpg' for writing in /var/www/vhosts/s10a.nl/httpdocs/fotos/index.php on line 83

Warning: mkdir(fotoalbum/s10a/thumbs/): Permission denied in /var/www/vhosts/s10a.nl/httpdocs/fotos/index.php on line 229

Warning: imagejpeg(): Unable to open 'fotoalbum/s10a/thumbs/IMG_4919.jpg' for writing in /var/www/vhosts/s10a.nl/httpdocs/fotos/index.php on line 83

Warning: mkdir(fotoalbum/s10a/thumbs/): Permission denied in /var/www/vhosts/s10a.nl/httpdocs/fotos/index.php on line 229

Warning: imagejpeg(): Unable to open 'fotoalbum/s10a/thumbs/IMG_4920.jpg' for writing in /var/www/vhosts/s10a.nl/httpdocs/fotos/index.php on line 83

Warning: mkdir(fotoalbum/s10a/thumbs/): Permission denied in /var/www/vhosts/s10a.nl/httpdocs/fotos/index.php on line 229

Wat kan ik hieraan doen???


okeej dat is me nu gelukt. was vergeten om te vertellen dat ie ook echt iets weg mag schrijven.. Maar nu laat ie geen enkele foto zien ??????
Ad
Ad
21 jaar geleden
 
0 +1 -0 -1
Hallo, dit is exact wat ik nodig heb, alleen helaas werkt het niet.
Ik heb een map gemaakt genaamd 'fotos'. Daarin het bestand foto.php. In de map fotos zit een map 'fotoalbum' zoals bovenin gezegd wordt. Ik heb helemaal niets aan het script verandert maar hij geeft de melding "Sorry, deze map is leeg!" terwijl er toch écht vijf foto's in zitten.

Ik test het geheel met phpdev.

Wat kan er fout zijn gegaan?
Bedankt.
Ad
Ad
21 jaar geleden
 
0 +1 -0 -1
Niemand?
Niek Ha
Niek Ha
21 jaar geleden
 
0 +1 -0 -1
De verhouding klopt niet van de formaten als een foto verticaal in je map staat. Deze foto word net zo breed weergeven als de horizontale foto's maar de verticale foto is 2x zo groot. Hoe is dit op te lossen?
voorderest is het een uitstekend script!
Martijn van Boxtel
Martijn van Boxtel
21 jaar geleden
 
0 +1 -0 -1
Kerels ik krijg van mijn webhost te horen dat dit script doet LOOPEN !! bij grote aantallen bezoekers en dat hierdoor de server problemen krijgt kan iemand de LOOP er uit halen....

Gegroet Martijn
Arjan Kapteijn
Arjan Kapteijn
21 jaar geleden
 
0 +1 -0 -1
Ben benieuwd wat jou webhost verstaat onder loopen... Laat hun maar contact met mij opnemen of met bewijs komen voordat ze beginnen te schreeuwen.
Maikel
Maikel
21 jaar geleden
 
0 +1 -0 -1
Allereerst grote complimenten aan Arjan!

Heeft iemand enig idee hoe ik het laatst geuploade album bovenaan de lijst krijg? Dit zou wel iets met SORT te maken hebben, maar heb zelf geen ervaring hoe ik dit met mappen moet doen. Alvast bedankt!
Arjan Kapteijn
Arjan Kapteijn
21 jaar geleden
 
0 +1 -0 -1
Je zou eerst moeten kijken of je met PHP wel de 'geuploade' tijd/datum op kan halen van een map. Van een bestand weet ik het, dat is filemtime(), ik weet alleen niet of dat ook zo is voor mappen (even testen dus).

Vervolgens maak je van de $mappen array een multidimensionale array, naast de mapnamen sla je dan ook de 'creation-date' op. Vervolgens kan je die eenvoudig sorteren met een van de vele array-sorteren-functies.
Maikel
Maikel
21 jaar geleden
 
0 +1 -0 -1
En hoe ik mooi over de breedte van de pagina de albums krijg. Ik wil er 2 naast elkaar zien, inplaats van elk album onder elkaar.

- Album - Album
- Album - Album

dus ipv

- Album
- Album

Danku!
Arjan Kapteijn
Arjan Kapteijn
21 jaar geleden
 
0 +1 -0 -1
Even de <br>'s weghalen...
Maikel
Maikel
21 jaar geleden
 
0 +1 -0 -1
klopt, maar dan komen ze niet netjes onder elkaar te staan, omdat het ene album langer is dan het andere.. en een goede <div align="justify"></div> krijg ik er niet tussen, die pakt die niet..
Arjan Kapteijn
Arjan Kapteijn
21 jaar geleden
 
0 +1 -0 -1
Justify heeft niet zoveel zin, zet om iedere map een span met een vaste breedte neer ofzo. Of laat er een simpele tabel van maken.
Thijs X
Thijs X
21 jaar geleden
 
0 +1 -0 -1
Idd gewoon tabeltje zet je er een teller en wanneer aantal albums meer is dan 2 dat je dan </tr> gebruikt voor een nieuwe regel.
Maikel
Maikel
21 jaar geleden
 
0 +1 -0 -1
Ik heb de aanpassing van iemand hierboven gebruikt..
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
        if(isset($img))
        {

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

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

    echo '<hr>';
}

?>

Ik krijg het er echt niet tussen :S
Arjan Kapteijn
Arjan Kapteijn
21 jaar geleden
 
0 +1 -0 -1
Kan je zelf uberhaupt wel PHPén?
Maikel
Maikel
21 jaar geleden
 
0 +1 -0 -1
Het is niet echt mijn dag vandaag, maar ach.. ben zelf meer van php in samen werking met mySQL.. met gegevens uitlezen uit mappen etc snap ik nog weinig van ja..
Arjan Kapteijn
Arjan Kapteijn
21 jaar geleden
 
0 +1 -0 -1
Nouja, in dit geval hoef je alleen maar een array te echoén, op dezelfde manier als je normaal mysql_fetch_array() gebruikt zegmaar...
Kevin
Kevin
21 jaar geleden
 
0 +1 -0 -1
Nog maals Arjan echt een top script!
Ik vind het nog steeds het beste fotoalbum zonder mysql die er is!!
Dus toppie !!!
Al vind ik het nog wel jammer dat de foto's willekeurig door elkaar komen en niet op datum of naam of zo.
Heb er zelf mee lopen experimenteren maarja zoals je al eerder hebt gezegd gaat dat helllaas niet met dit syteem dus jammer dan.
maar alsnog een top script dus nogmaals bedankt!!
mzzzl Kevin
Arjan Kapteijn
Arjan Kapteijn
21 jaar geleden
 
0 +1 -0 -1
Kan wel, maak van $bestanden een multidimensionale array en schrijf naast een filename ook de filemtime() op, sorteren en gaan. Kan dus prima :).
Kevin
Kevin
21 jaar geleden
 
0 +1 -0 -1
Oke ga effe lekker knuttselen :P :D als ik iets heb en als het werkt post ik het!!
mzzl Kevin
The master
the master
21 jaar geleden
 
0 +1 -0 -1
:( dit werkt bij niet
Fatal error: Call to undefined function: imagecreatetruecolor() in /var/www/functies.php on line 24

lijkt me een goed script maar het werkt niet ..
Arjan Kapteijn
Arjan Kapteijn
21 jaar geleden
 
0 +1 -0 -1
Dan ondersteund je server waarschijnlijk geen PHP_GD, check phpinfo();
The master
the master
21 jaar geleden
 
0 +1 -0 -1
Die lijst is vrij goed waar moet ik specifiek op letten.
enig wat ik heb met GD er in is
'--with-gd=shared,/usr' '--enable-gd-native-ttf

het is een debian webserver met php
Arjan Kapteijn
Arjan Kapteijn
21 jaar geleden
 
0 +1 -0 -1
onderin het lijstje zou iets van GD moeten staan... Kijken of daar dus GD Support enabled staat.
The master
the master
21 jaar geleden
 
0 +1 -0 -1
ik zag net dat ik php4 geinstalleerd heb staan, dat heeft er wellicht mee te maken, ik maak nu even een virtual debian met php 5 server aan
Arjan Kapteijn
Arjan Kapteijn
21 jaar geleden
 
0 +1 -0 -1
PHP4 of 5 maakt niet uit, GD, dat is wat je nodig hebt.
The master
the master
21 jaar geleden
 
0 +1 -0 -1
ooh ok :(
ik ga even zoeken hoe ik GD kan installeren op debian

apt-get install php5-gd dus :P
ik laat het resultaat weten
Kevin
Kevin
21 jaar geleden
 
0 +1 -0 -1
Uhh oke ik geef het op laat het syteem wel zo als het nu is krijg er geen datum chek in geknuttselt zodat hij de foto's sorteerd dus als iemand anders het wel is gelukt mail/post het :D zou top zijn :D
mzzl kevin
Kevin
Kevin
21 jaar geleden
 
0 +1 -0 -1
Zo vandaag effe met schone lij begonnen en opneiuw geprobeerd maar wil niet lukken iemand oplossing ??
mzzl Kevin
Arjan Kapteijn
Arjan Kapteijn
21 jaar geleden
 
0 +1 -0 -1
Ben je zelf handig in PHP? Je weet hoe je een multidimensionale array aan moet maken? En hoe je dat moet vullen en moet uitlezen met een foreach?
Kevin
Kevin
21 jaar geleden
 
0 +1 -0 -1
nee das eigelijk beetje het probleem ben niet een held in php kan wel klein beetje php maar niet met Multidemensionale array heb wel wat over gelezen maar kom ern iet uit :( das eigenlijk het probleem
Arjan Kapteijn
Arjan Kapteijn
21 jaar geleden
 
0 +1 -0 -1
Regel 16, vervang

$bestanden[] = $file;

Daar ga je de tijd/datum opvragen, filemtime($map.$file); Die pleur je vervolgens achter de file, $file => $tijddatum.

Sorteren, en gaan.
Kevin
Kevin
21 jaar geleden
 
0 +1 -0 -1
hmm nog een vraag hoe moet je het dan sorteren of doet ie dat zelf snap niet helemaal
Kevin
Kevin
21 jaar geleden
 
0 +1 -0 -1
ik krijg steeds de fout:
Parse error: syntax error, unexpected T_DOUBLE_ARROW
Thijs X
Thijs X
21 jaar geleden
 
Kevin
Kevin
21 jaar geleden
 
0 +1 -0 -1
ik heb nu dus dit:

$bestanden[] = $file;
sort($bestanden);


Nu sorteert hij ze op naam hoe maak je daar datum van?? want wat arjan zegt snap ik niet helemaal :(
Kevin
Kevin
21 jaar geleden
 
0 +1 -0 -1
Niemand een idee of is iedereen er over aan denken ??
Eric
Eric
21 jaar geleden
 
0 +1 -0 -1
Prima werk. Ben er zeer blij mee.
Nu hoeft van mij de thumbs maken er niet bij te zitten, doe dat in batch, als ik de fotos op mijn diskstation zet.
Kan ik die regels gewoon verwijderen ?

Nu heb ik http://www.huddletogether.com/projects/lightbox2/ wel eens zien werken en ik dat graag willen samenvoegen met je script.
Op het moment dat de orginele foto word opgeroepen, niet in een nieuw venster maar dan met lightbox.
Nu ben ik zelf een leek op het gebied van php, maar zou zoiets mogelijk zijn, of wil ik nu gewoon te veel.

Gr.
Kevin
Kevin
21 jaar geleden
 
0 +1 -0 -1
Zo iets is zeker mogelijk ! Eric zal vanmiddag eventjes kijken moet nu naar school :( of meschien is iemand anders me al voor.
Kevin
Kevin
21 jaar geleden
 
0 +1 -0 -1
asl je het scriptm et die lightbox wilt wordt dat dit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
<script type="text/javascript" src="js/prototype.js"></script>
<script type="text/javascript" src="js/scriptaculous.js?load=effects"></script>
<script type="text/javascript" src="js/lightbox.js"></script>
<link rel="stylesheet" href="css/lightbox.css" type="text/css" media="screen" />

<?php
echo '<h1>Fotoalbum</h1>';

//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();
$map             = 'fotoalbum/';

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

$hoogte_groot     = 600;
$breedte_groot     = 400;

$afbeeldingenperpagina    = 15;

//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;
    }  
}


//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']).'/';
}


//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] != 'fotoalbum')
{

    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] == 'fotoalbum')
        {

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

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


echo '<hr>';

//Open de directory en we gaan die bestand voor bestand uitlezen.
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' && $file != 'Geheim')
                {

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

    closedir($dir);
}
else{
    //Wat doe je! Je maakt hem kapot! Bel 112!!!!1111oneoneoneone
    echo 'Sorry, deze directory kan ik niet openen!';
}


//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.$bestanden[$fotonr].'" target="_blank" style="border: 0px;" rel="lightbox"><img src="'.$map.'thumbs/'.$bestanden[$fotonr].'" class="thumbs"></a>';
            }
        }
    }
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],$hoogte_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" style="border: 0px;"><img src="'.$map.'thumbsgroot/'.$bestanden[$fotonr].'" class="groot" title="'.$bestanden[$fotonr].'"></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>';
        }    
    }
}

?>
Kevin
Kevin
21 jaar geleden
 
0 +1 -0 -1
Maar heeft iemand een idee hoe ik het nou op datum kan laten sorteren de fotos??
mzzl Kevin
Eric
Eric
21 jaar geleden
 
0 +1 -0 -1
@ Kevin, bedankt voor je lightbox toevoeging, begin nu een beetje te snappen waar het aanepast had moeten worden.
Nu echter nog 1 probleempje: Mijn laatste toegevoegde map, komt onderaan te staan, wil graag dat de mappen op alfabet komen te staan en de bestanden in de map ook.

Is dit mogelijk ? of heb ik iets niet goed gedaan ?

Gr.
Arjan Kapteijn
Arjan Kapteijn
21 jaar geleden
 
0 +1 -0 -1
sort($directories);
sort($bestanden);

Na de closedir zou voldoende moeten zijn...
Eric
Eric
21 jaar geleden
 
0 +1 -0 -1
Top Arjan, werkt direct :-)
Kevin
Kevin
21 jaar geleden
 
0 +1 -0 -1
i kweet het klinkt ongeduldig meschien maar vroeg me af f iemand al idee had met het sorteren van de bestanden op datum ik heb dus dit:
$bestanden[] = $file;
sort($bestanden);

sorteerd ze dus op naam maar niet op datum :( hoe kan ik daar verandering in brengen ??
Arjan Kapteijn
Arjan Kapteijn
21 jaar geleden
 
0 +1 -0 -1
In die $bestanden array staat alleen een naam, geen datum. Die zul je eerst moeten toevoegen.
Joren vh
joren vh
21 jaar geleden
 
0 +1 -0 -1
waar moet je dit plaatsen ?

img.centreren {
vertical-align:middle;
margin: 5px;
border: 0px;
}

img.thumbs {
vertical-align:middle;
border: 0px;
margin: 10px;
}

img.groot {
vertical-align:middle;
border: 0px;
}
Arjan Kapteijn
Arjan Kapteijn
21 jaar geleden
 
0 +1 -0 -1
Is niet persé nodig maar het maakt het geheel wel iets netter. Die code plaats je in je css stylesheet.
The master
the master
21 jaar geleden
 
0 +1 -0 -1
vraagje over dit script :)
werk prima geweldig
alleen ik kom er niet uit wat ik aan moet passen om er voor te zorgen dat zodra er op een thumbail gedrukt wordt de afbeelding groter verschijnt ?
hij verschijnt wel in een eigen pagina Groter , maar niet groot genoeg voor mij.
het liefst ook nog de mogelijk om hem full screen te laden er uit te slopen.
Eric
Eric
21 jaar geleden
 
0 +1 -0 -1
php werkt opzich prima de luxe, ben er zeer content mee.

Nu wil ik hem echter in mijn site structuur plaatsen
root/
/html
/stock

in de map html staan mijn html bestand, maar ook het album.php
in de map stock staan mijn foto's, in sub mappen en voorzien van een map thumbs.

nu dacht ik de regel:

$map = 'fotoalbum/';

aan te passen naar:
$map = '../stock/';

Maar dat wil niet werken :-(
is het mogelijk om daar terug te gaan naar de root en de juiste foto map op te geven ? en moet ik het dan ook op andere plaatsen aanpassen ?

Gr.
Arjan Kapteijn
Arjan Kapteijn
21 jaar geleden
 
0 +1 -0 -1
Het script filterd die ../ eruit, om veiligheidsredenen (wil niet dat iemand via ../ terug kan bladeren). Dat kan je weghalen, maar dan zul je zelf iets moeten verzinnen om dat te beveiligen.
Eric
Eric
21 jaar geleden
 
0 +1 -0 -1
Moet wel veilig blijven, dus mijn structuur aangepast album.php in de root gezet en het bestand wat hem aan roept ook, en het werkt :-)

Krijg nu al mijn mappen te zien.

Gr.
Kevin
Kevin
21 jaar geleden
 
0 +1 -0 -1
Nou ik geef het op als iemand zo aardig is het voor mij te maken het sorteer systeem op datum dan ben ik hem dankbaar want mij lukt het nog niet ben ook nog maar beginner :(

mzzl Kevin
Kevin
Kevin
21 jaar geleden
 
0 +1 -0 -1
Ik heb wat Arjan zegt paar keer geprobeerd maar kom er niet uit vooral het probleem is het toevoegen van de datum in de array en dan sorteren snap ik niet :(
Dus als iemand een idee daarvoor heeft dan is het welkom :D heb lama zeggen nu dit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
$dattumtijd= filemtime($map.$file);
$bestanden[] = ??????
sort($bestanden);

Dus als iemand mij kan zeggen hoe ik de datum toevoeg in de array van bestanden zodat hij deze op datum kan sorteren en volgens mij klopt de sort() ook niet helemaal als hij hem op datum moet sorteren dus iemand idee??

Groet Kevin
Arjan Kapteijn
Arjan Kapteijn
21 jaar geleden
 
0 +1 -0 -1
$bestanden[$file] = $datumtijd;

print_r($bestanden);
Kevin
Kevin
21 jaar geleden
 
0 +1 -0 -1
Heb nu dus dit:
$datumtijd= filemtime($map.$file);
$bestanden[$file] = $datumtijd;
print_r($bestanden);

Als ik dit dan doe krijg ik allemaal arrays van foto1 t/m foto 130 dus hele lijst van fotos en dan steeds telt hij tot aan de de volgende foto
heb ergens gelezen dat dit aan mijn php versie kan liggen??
iemand idee of doe ik het nu fout met dit:

$datumtijd= filemtime($map.$file);
$bestanden[$file] = $datumtijd;
print_r($bestanden);

Kevin
Arjan Kapteijn
Arjan Kapteijn
21 jaar geleden
 
0 +1 -0 -1
Er staat toch wel een $ voor die bestanden ey?
Kevin
Kevin
21 jaar geleden
 
0 +1 -0 -1
ja ! verkeerd neergezet :( zal eeffe aanpassen ;) heb dus in het script wel een $ voor de bestanden!!
Arjan Kapteijn
Arjan Kapteijn
21 jaar geleden
 
0 +1 -0 -1
En je hebt die array al wel gesorteerd?
Kevin
Kevin
21 jaar geleden
 
0 +1 -0 -1
ja
Arjan Kapteijn
Arjan Kapteijn
21 jaar geleden
 
0 +1 -0 -1
Met welke functie heb je dat geprobeerd? En wat is het verschil van de print_r() voor en na het sorteren?
Kevin
Kevin
21 jaar geleden
 
0 +1 -0 -1
heb gewoon gesorteer als eerst dus sort($bestanden) en heb de sort er voor staan en als ik hem er achter sorteer hij volgens mij niet echt meer doet het in iedergeval allebij nietm aar volgens mij ligt het aan mijn sort($bestanden)

oja als je het resultaat wilt zien:
http://www.kiteshare.nl/index.php?a=picture3
ben nog bezig met alles dus let maar alleen op het script :P
Eric
Eric
21 jaar geleden
 
0 +1 -0 -1
Ben nog steed te vreden over je script.
Maar mijn collectie met stock fotos is zo groot aan het worden dat ik hem ook op een andere manier zou willen gebruiken.
Even uitleg:
Heb een website (4giga) en heb een Landrive (300Giga)(100giga aan stockfotos op dit moment)
Voor de Landrive gebruik ik je volledige script
Voor de website wil ik alleen de map thumbs gebruiken, zodat ik daar alleen de kleine fotos kan laten zien per collectie.
Hoe zou ik ou script kunnen aanpassen dat hij naar het mapje thumbs kijk en niet meer naar de map waar de foto's in staan of naar de map thumbsgroot.
Hij hoeft dus dan alleen maar de thumbs map te laten zien.

Hopelijk begrijp je wat ik bedoel
Al vast bedankt voor het meedenken

Gr.
Arjan Kapteijn
Arjan Kapteijn
21 jaar geleden
 
0 +1 -0 -1
Is geen probleem, wat is je PHP kennis?
Eric
Eric
21 jaar geleden
 
0 +1 -0 -1
Weinig, heel weinig.
Als ik een script lees kan ik ongeveer wel achter halen wat er gaat gebeuren.
Maar zomaar regels weg knippen, zonder voorkennis, lijkt me niet de oplossing.
Aangezien ik de structuur op de Web en Lan server gelijk wil houden, maar op de web dingen niet wil uploaden. Zou in mijn ogen het nieuwe script alleen maar naar de mappen moeten kijken en dan de thumbs map uit moeten lezen en die tonen, daarna hoeft er niet geklikt te worden om de groter thumbs te laten zien of het orgineel. Willen mensen de grote versie zien of hebben kunnen ze mailen. Thumbs maken hoeft ook niet want die zijn al gemaakt op de Lan server.

Gr.
Arjan Kapteijn
Arjan Kapteijn
21 jaar geleden
 
0 +1 -0 -1
Als ik alles moet gaan voorkauwen is het voor mij ook niet leuk, wellicht dat iemand anders er zin in heeft.
Eric
Eric
21 jaar geleden
 
0 +1 -0 -1
Oke, is te begrijpen
Eric
Eric
21 jaar geleden
 
0 +1 -0 -1
Iemand anders soms, die kan helpen ?
Ben nu bijna 18 uur aan het zoeken en testen geweest, met als resultaat, gedeelte van mijn stock foto collectie kwijt :-((((((

Gr.
Eric
Eric
21 jaar geleden
 
0 +1 -0 -1
Eindelijk, het is gelukt :-)
Werkt nu op de ene, alleen met de thumbs en op de Lan drive volledig.

Nog een klein vraagje, sommige jpg foto laat hij niet zien andere wel.
Nu denk ik dat ik het gevonden heb, maar toch even voor de zekerheid.
De plaatjes die hij wel laat zien zijn van het type RBG en de plaatjes die hij niet laat zien zijn CMYK, is er iets te doen, via het script dat hij die toch laat zien ? Of moet ik alles omzetten naar RGB

Gr.
Bob
Bob
21 jaar geleden
 
0 +1 -0 -1
De mappen die automatisch aangemaakt word heb jij geen rechten toe, verander dit en dan kan je ze wel verwijderen!

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


En


mkdir($map.'thumbsgroot/',0777);
chmod($map.'thumbsgroot/', 0777);
}
Zelf Weten
Zelf Weten
21 jaar geleden
 
0 +1 -0 -1
Sjongen jongen... mensen mensen toch! Zo moeilijk is ie toch niet? Vroeg me nog één ding af of het misschien mogelijk is in V3.0 dat je achter de titel van de map tussen haakjes ziet staan (300 foto's) ofiets dergelijks.

Nog een mooie tip:

[1][2][3][4][5] etc. boven je fotos, dat je dus weer makkelijk terug kan naar de index.

Gr. Michiel

p.s. en dank voor het script!
Arjan Kapteijn
Arjan Kapteijn
21 jaar geleden
 
0 +1 -0 -1
Michiel, dat is gewoon een echo count($directories) :)
Billy
Billy
21 jaar geleden
 
0 +1 -0 -1
wat moet ik aanpassen aan dit script om het te kunne includen?
Arjan Kapteijn
Arjan Kapteijn
21 jaar geleden
 
0 +1 -0 -1
Ik include het zelf ook, is verder geen aanpassingen meer voor nodig.
Billy
Billy
21 jaar geleden
 
0 +1 -0 -1
als ik het include werken die urls van die mappen niet meer,
het komt omdat ik voor mijn menu dit script gebruik:

switch (strtolower($_GET['pagina']))
{
case "fotoalbum":
$pagina="fotoalbum.php";
break;
default:
$pagina="standaard.php";
break;
}
include ($pagina);

wat moet ik toevoegen aan dit script of aan het fotoalbum script om ze allebei nog te laten werken?


EDIT:
thanks arjan voor het bericht hier onder, nu heb ik het werkend gekregen!
Arjan Kapteijn
Arjan Kapteijn
21 jaar geleden
 
0 +1 -0 -1
Gewoon een replace uitvoeren, <a href="? maak je dan van <a href="?pagina=fotoalbum&amp; o.i.d.
Sjoerd
Sjoerd
21 jaar geleden
 
0 +1 -0 -1
Hey,

Mooi script, ben er erg blij mee. In FF tenminste.
Ik heb namelijk een probleem, in Internet Explorer worden de foto's niet netjes geordend. maar worden ze gewoon keihard achter elkaar gezet.
Ik zou graag willen dat de foto's in rijen van 4 x 4 worden gesorteerd.
IK weet dat dit door middel van een teller moet. Maar aangezien ik nog niet zo lang met PHP bezig ben. Weet ik niet waar ik deze teller moet maken, of hoe ik die uberhaupt moet scripten.

Als iemand mij zou kunnen helpen.
Alvast bedankt!

Sjoerd
Agron
agron
21 jaar geleden
 
0 +1 -0 -1
Sjoerd je zou eventueel het CSS scriptje wat erboven staat kunnen gebruiken
de naam style.css kunnen geven
en vervolgens in de Head Tags
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<link rel="stylesheet" type="text/css" media="screen" href="style.css" />

hier komt alleen stukje ruimte tussen voor precies 4 naast elkaar zou het niet weten

Suc6


Heeft iemand al een idee met het sorteren van foto's op Datum.

- Links naar Tutorials etc zijn ook welkom (heb gegoogelt maar het blijft vaag)

het gaat hier om dit fotoscript waarbij de user zelf een foto kan uploaden
en vervolgens kan zien in de fotoalbum maar als de nieuwste foto
helemaal achter komt zie je telkens de oude hoofdjes op de 1ste pagina.

Bij Voorbaat Dank
Agron
Arjan Kapteijn
Arjan Kapteijn
21 jaar geleden
 
0 +1 -0 -1
Sorteren van foto's is meerdere keren genoemd, en meerdere keren heb ik uitgelegd dat het echt een eitje is om te verwerken en -hoe- je dat moet doen.

En met betrekking tot Sjoerd.

$teller = 0;

En vervolgens de volgende code in het 'fotos-doorloop-loopje'.

if($teller == 4)
{
echo '<br>';
}else{
$teller++
}
Cedric
Cedric
21 jaar geleden
 
0 +1 -0 -1
ik krijg dit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
Warning: imagejpeg() [function.imagejpeg]: SAFE MODE Restriction in effect. The script whose uid is 723 is not allowed to access /home/speedworld/domains/speedsoft.uni.cc/public_html/fotoalbum/fotoalbum/thumbs owned by uid 100 in /home/speedworld/domains/speedsoft.uni.cc/public_html/fotoalbum/functies.php on line 38

Warning: imagejpeg() [function.imagejpeg]: Invalid filename in /home/speedworld/domains/speedsoft.uni.cc/public_html/fotoalbum/functies.php on line 38


Is dit dus omdat safe mode aanstaat? Ik dacht dat overal safe mode aanstaat :s of heeft dit te maken met iets anders?
Zelf Weten
Zelf Weten
21 jaar geleden
 
0 +1 -0 -1
Weet je wat ik nog mis hier aan? En me ondertussen ook afvraag of het mogelijk is om dat nog toe te voegen...

Als je bijv. naar pagina twee gaat en dan een foto kiest, kun je niet snel terug (makkelijk vooral niet) naar de index van pagina twee.

Of gewoon gegenereerde links onder of boven de thumbnails [1][2][3][4] etc. Kan dat?

Gr.
Arjan Kapteijn
Arjan Kapteijn
21 jaar geleden
 
0 +1 -0 -1
Je weet je $paginanr, dus je kan prima een 'terug naar index van pagina x' -knopje maken. Tevens weet je ook hoeveel paginas je hebt, dus jou voorbeeld van [1][2][3] is prima uitvoerbaar.
Johan Van Galen
Johan Van Galen
21 jaar geleden
 
0 +1 -0 -1
Weet iemand of het mogelijk is om bij een directoryoverzicht te laten zien hoeveel foto's er in de desbetreffende map zitten? Ik heb al verschillende count-scripts geprobeerd maar krijg niet het gewenste resultaat.

Voor de rest een geweldig script!! Ik heb er een mooie fotopagina mee gemaakt :)
Kenny
kenny
21 jaar geleden
 
0 +1 -0 -1
Mooi script.....ik heb alleen nog een paar kruisjes bij mijn index staan....weet niet waar dat vandaan komt en of daar bv een voorbeeld foto op kan..??

Is er tevens een mogelijkheid om de thumbnails verder uit elkaar te plaatsen..?? ze zitten nu strak tegen elkaar aan...??

Thanks
Arjan Kapteijn
Arjan Kapteijn
21 jaar geleden
 
0 +1 -0 -1
Mark, dat kan opzich wel... echter zul je dan per map eerst weer de directory uit moeten lezen want het uitlezen gebeurd maar 1 niveau diep. Als er tijdens het uitlezen een map ipv afbeelding gevonden word neemt mijn script niet de moeite om die map weer uit te lezen totdat je erop klikt.

Kenny, dat kruisje is waarschijnlijk een folder.gif die ik erin gepropt heb voor de mooiigheid. En dat niet strak tegen elkaar aanplaatsen kan prima met een simpel stukje css. Zo doe ik het zelf namelijk ook.
Johan Van Galen
Johan Van Galen
21 jaar geleden
 
0 +1 -0 -1
Arjan, het ging eerst mis toen ik probeerde $map$directory uit te lezen, maar ik heb het concept nu werkend. Ik ga het geheel nog even netjes in de lay-out verwerken, bedankt!! Ik zal nog even posten als het af is zodat je het resultaat kan zien :)
Zelf Weten
Zelf Weten
21 jaar geleden
 
0 +1 -0 -1
Mooi gedaan met dat CSS, dat de foto's mooi passend zo bij elkaar staan! Netjes Arjan.

Arjan, kan je je uitleg nog een klein beetje toelichten? Snap ongeveer wel wat je bedoelt. Ik ga ondertussen zelf ook wel even knutselen, hopelijk kom ik eruit. Ben alleen bang dat ik iets ga slopen.

Gr.
Kenny
kenny
21 jaar geleden
 
0 +1 -0 -1
@Arjan...ok bedankt voor je reactie...ik ben erg blij met het script ik ga me er even in verdiepen...vindt het wat mooier als het iets uit elkaar staat...ben alleen nog een newbie...heb geen kaas gegeten van css......misschien kan je het stukje css even plaatsen.....zou het waarderen....

thanks
Bint
Bint
21 jaar geleden
 
0 +1 -0 -1
Beste Arjan,

Mijn complimenten voor je script, het werkte in eerste instantie bij mij direct. Nu heb ik echter een probleem waar ik niets van snap. Als ik nu een map toevoeg maakt het script wel een mapje thumbs aan op de server, maar maakt de tumbs zelf niet aan. Dit terwijl hij dat een vorige keer nog wel deed. Er is niets veranderd aan de files en/of server, dus ik sta echt voor een raadsel. Weet jij wat er aan de hand is? Kan er ergens een soort overrun zijn??

groet.
Arjan Kapteijn
Arjan Kapteijn
21 jaar geleden
 
0 +1 -0 -1
Thumbs map word pas aangemaakt als je op een kleine thumb geklikt heb :).
Bint
Bint
21 jaar geleden
 
0 +1 -0 -1
Dat is raar Arjan, want ik zie in de lijst (het overzicht van alle fotomappen) dat er een entry is voor het betreffende fotoboek, en als ik daar op klik krijg ik op het scherm waar ik dus alle tumbjes zou moeten zien een leeg scherm. Als ik dan op de server kijk zie ik dat er een dir is aangemaakt in de map die tumb heet, maar die geen inhoud heeft. :S
Arjan Kapteijn
Arjan Kapteijn
21 jaar geleden
 
0 +1 -0 -1
Waarschijnlijk heeft heeft PHP dan geen schrijfrechten in die map. Voeg even een chmod() toe na de mkdir(). Verwijder de thumbs mappen en probeer het opnieuw.
Dennis Messing
Dennis Messing
21 jaar geleden
 
0 +1 -0 -1
Arjen, Niets dan lof! Super mooi script!
( Een van de weinige scrips die écht in één keer goed werken en makkelijk aan te passen zijn )

Bedankt hier voor!
Zelf Weten
Zelf Weten
21 jaar geleden
 
0 +1 -0 -1
Arjan en res.

Kan iemand een voorbeeld geven van de pagination [1][2][3] etc. boven de thumbnails voor het makkelijker doorlopen van de index-en in het fotoboek?

Bij voorbaat dank.
Floris
floris
21 jaar geleden
 
0 +1 -0 -1
ik krijg alles te zien maar geen thumbs.
Hoe zit het met de mappenstructuur ?
Waar begin je mee..
Bovendien hoe zit het met
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
chmod();
?>

want snap daar ook al niks van.
Je moet chmod maken naar 777 ?? wat is dat.

Met vriendelijke groet,

Floris
Jurgen assaasas
Jurgen assaasas
21 jaar geleden
 
0 +1 -0 -1
CHMOD is een linux functie die wordt gebruikt om rechten op een bestand of map te zetten ik weet de dingen niet uit mijn hoofd maar je hebt bijv 666, 676, 777 etc. 777 is volgens mij alle rechten(lezen, schrijven, wijzigen).

Ik ga dit script ook nog eens proberen heb nl al lang een foto album nodig:)

Ik laat weten wat er uit is gekomen.
Sjak Jansen
Sjak Jansen
21 jaar geleden
 
0 +1 -0 -1
Te gekke php Arjan,
ff een vraagje eigenlijk twee

- hoe kan ik onder elke foto ook de naam van de foto zetten?
- hoe kan ik boven elk album een afbeelding zetten, dus in plaats van alleen maar de naam van een album, boven elk album moet dezelfde afbeelding komen

alvast bedankt!
Visual
Visual
21 jaar geleden
 
0 +1 -0 -1
Hoe zit het nou precies . IK heb een map genaamd fotomap met mappen met foto''s . Maar ik weet niet wat ik bij bestandeb,dicectories moet zetten

$directories = array();
$bestanden = array();
$map = 'fotomap/';
Sjak Jansen
Sjak Jansen
21 jaar geleden
 
0 +1 -0 -1
hey ik heb het al opgelost niet meer nodig

btw. Visual ik heb niks ingevult bij array();
Sjak Jansen
Sjak Jansen
21 jaar geleden
 
0 +1 -0 -1
ik heb nu bij elke foto een naam staan maar hoe zorg ik dat de foto's op een rij
blijven staan, maar met de naam eronder?

mijn code ziet er nu zo uit:
if(file_exists($map.'thumbs/'.$bestanden[$fotonr]))
{

echo '<a href="?map='.substr_replace($map,"",-1).'&amp;foto='.($fotonr+1).'"><img src="'.$map.'thumbs/'.$bestanden[$fotonr].'" class="thumbs" border="0"> </a>';
echo '<a href="?map='.substr_replace($map,"",-1).'&amp;foto='.($fotonr+1).'">'.$bestanden[$fotonr].'</a>';

}


mvg,

Sjak Jansen
Visual
Visual
21 jaar geleden
 
0 +1 -0 -1
www.exp.lifecrime.nl/fotoalbum.php

ik weet ckers dat ik goeie map bij $map heb staan
Ferdi R
Ferdi R
21 jaar geleden
 
0 +1 -0 -1
Oke ik heb een map fotoalbum daar staat weer een map auto's in en daar foto's maar hij kan ze niet lezen.

De map auto's cmodden helpt ook niet.
Marc
Marc
21 jaar geleden
 
0 +1 -0 -1
Arjan,

Dank je wel voor het mooie script. Ik ben geen held in PHP ed maar ik kwam er wel aardig uit. Alles werkt als een zonnetje :)

Nogmaals dank je wel,
Marc.
M. de Win
M. de Win
21 jaar geleden
 
0 +1 -0 -1
Ik heb een vraag. In plaats van 10 foto's op 1 pagina, kan ik daar ook 9 ofzo van maken. Heb zelf al proberen aan te passen maar kwam er niet uit. Heb alle 10 op 9 gezet, maar zonder succes.

Alvast bedankt
Marc
marc
20 jaar geleden
 
0 +1 -0 -1
Leuk script,

Vraag me alleen af waarom ik het eerste plaatje zo groot zie en niet gewoon als thumb.

http://www.sailmasterclub.nl/fotoalbum/fotoalbum.php


Gr Marc
Claes Bjorn
Claes Bjorn
20 jaar geleden
 
0 +1 -0 -1
help. ik had het scritps eens werkend gekregen. maar wil ineens niet meer werken. alles werkt bhalve hij wil de fotos niet tonen. maar zegt ook niet map leeg. gd versie 2 staat installed
weet ook niet hoe het komt http://tjoepken.no-ip.org/photoalbum.php kan iemand mij soms zeggen hoe dit komt
Wesley Vos
Wesley Vos
20 jaar geleden
 
0 +1 -0 -1
bedankt Arjan voor je script hij werkt goed
http://www.wesz.nl/album/

weet iemand hoe je het deel admin.php kan beveiligen
Jurriaan
Jurriaan
20 jaar geleden
 
0 +1 -0 -1
Iemand enig idee waarom de foto's op mijn fotoalbum ... als je naar thumbs kijkt, steeds groter worden?
Edit: al opgelost..

Bedankt,
Jurriaan
Arjan Kapteijn
Arjan Kapteijn
20 jaar geleden
 
0 +1 -0 -1
Eenmaal aangemaakt worden ze niet meer gecontrollleerd, dus als jij de instellingen wijzigd zul je de oude thumbs ff moeten verwijderen.
Jurriaan
Jurriaan
20 jaar geleden
 
0 +1 -0 -1
Ik zal eens kijken, bedankt..! :)
Edit: ja, nou klopt 'ie weer prima! Heel erg bedankt!
D-unid.com
D-unid.com
20 jaar geleden
 
0 +1 -0 -1
Bij mij staan er Blauwe balken omheen hoe krijg ik die weg ?? ik snap daar niks van moet ruimte tussen vind ik www.d-unid.com/new/fotos.php

Alvast bedankt
Arjan Kapteijn
Arjan Kapteijn
20 jaar geleden
 
0 +1 -0 -1
Object niet gevonden! Grote kans overigens dat je geen CSS toegevoegd heb.
D-unid.com
D-unid.com
20 jaar geleden
 
0 +1 -0 -1
Nee idd hoe moet ik dat doen dan en waar moet die in?? Alvast bedankt

Ps Link werkt nu wel
Arjan Kapteijn
Arjan Kapteijn
20 jaar geleden
 
0 +1 -0 -1
De css staat erbij, probeer het eens.
D-unid.com
D-unid.com
20 jaar geleden
 
0 +1 -0 -1
Ja dat zie ik ja moet je die dan in een appart bestand opslaan of erbij in ? en hoe sla ik hem op Css.txt? ik heb alles al geprobeerd ... Bedank..
Davy Jansen
Davy Jansen
20 jaar geleden
 
0 +1 -0 -1
style.css (extensie is dus .css). Je kunt ook in jou geval: css.css mocht je dat willen.

Succes :)
D-unid.com
D-unid.com
20 jaar geleden
 
0 +1 -0 -1
Thanxx maar nu zet ie de foto's allemaal naast elkaar hoe kan ik dat weer verranderen?
Alexxx
Alexxx
20 jaar geleden
 
0 +1 -0 -1
Dit heb ik ook...

wat is de beste manier om dit voorelkaar te krijgen
Arjan Kapteijn
Arjan Kapteijn
20 jaar geleden
 
0 +1 -0 -1
Stukje css, thats it. Ik ga geen vragen beantwoorden die ik al 10x beantwoord heb.
D-unid.com
D-unid.com
20 jaar geleden
 
0 +1 -0 -1
Mijne werkt prima alleen als je een grote foto hebt van ong. 2 mb kunnen die er wel op of is dat te groot hij deed het laatst niet. wel raar ik had het erin gezet maar hij gaf niks aan.

Alvast Bedankt..
Gerrit Wiersma
Gerrit Wiersma
20 jaar geleden
 
0 +1 -0 -1
vraagje ik heb dat foto album script van jou, van phphulp gehaald, nu mijn vraag... Nadat ik op die kleinste thumbnail heb geklikt, verschijnt een klein plaatje vet groot in beeld, hoe kan ik die handig wijzigen? bijv dat ie dan 300x200 weergeeft?
Rogier H
Rogier H
20 jaar geleden
 
0 +1 -0 -1
ik heb hetzelfde probleem als Cedric: de SAFE mode staat aan. Weet iemand een goede oplossing om te zorgen dat het script wel werkt en zonder dat de SAFE mode op off moet? Bijna alle goede (werkende) fotoalbums hebben namelijk dit probleem.

alvast bedankt ;)
Denise
Denise
20 jaar geleden
 
0 +1 -0 -1
Vraagje:

Hoe kan ik zorgen dat de afbeeldingen niet verkleind worden?

Gr.

Denise
Frank
Frank
20 jaar geleden
 
0 +1 -0 -1
Het is echt een geweldig script hoor!

http://www.baseoflogic.com/tibia/screenshots.php

Ik had wel een klein vraagje. Omdat op datum doen niet kan heb ik de datum als eerst in de bestandnaam gezet. Alleen nu gaan de foto's van oud naar nieuw. Is het mogenlijk om dit om dit eenvoudig om te draaien?

Groetjes,
Frank
Arjan Kapteijn
Arjan Kapteijn
20 jaar geleden
 
0 +1 -0 -1
PHP heeft eenvoudige sorteerfuncties...
Steven
Steven
20 jaar geleden
 
0 +1 -0 -1
Mensen, ik begrijp het niet... HELP AUB!!!!!!!!!

Ik deed alsvolgt :

- Script (V2) copiëren en op de webserver gezet.
- Een map "fotoalbum" aangemaakt met daarin een map "wallpapers"

Ik krijg de links te zien, namelijk >>fotoalbum
wallpapers

Maar van zodra ik op wallpapers klik (de map waar mijn fotos in staan) krijg ik deze foutmelding voor iedere foto :

Warning: imagejpeg(): Unable to open 'fotoalbum/wallpapers/thumbs/10.jpg' for writing in *****URL***** on line 38

Warning: imagejpeg(): Unable to open 'fotoalbum/wallpapers/thumbs/8.jpg' for writing in *****URL***** on line 38

Warning: imagejpeg(): Unable to open 'fotoalbum/wallpapers/thumbs/13.jpg' for writing in *****URL***** on line 38

...enz.........

Als ik de afbeelding ook in de map thumbs zet, dan zie ik ze wel maar zijn ze veel te groot !

KAN IENMAND ME HELPEN AUB
Arjan Kapteijn
Arjan Kapteijn
20 jaar geleden
 
0 +1 -0 -1
Ik had je de oplossing al gemaild...
Steven
Steven
20 jaar geleden
 
0 +1 -0 -1
Arjan,

Het is inderdaad gelukt door alle rechten aan te vinken op de fotomappen via de FTP server.

Bedankt voor het gouden advies!
Steven
Steven
20 jaar geleden
 
0 +1 -0 -1
Beste PHP vrienden,

Tijdens wat expirimenteren stoot ik ook op het probleem dat ik een bepaalde subfolder BINNEN de "fotoalbum" folder niet meer kan verwijderen.

Ik heb de reacties van andere gebruikers gelezen, maar ik kom niet tot een oplossing van dit probleem.

Structuur : fotoalbum folder met daarin de mappen "Wallpapers" en "Newyear" binnen Wallpapers staat "thubms & thumbsgroot en dit werkt perfect.
Binnen "Newyear" maakte ik zelf "thumbs" aan en deze folder kan ik niet meer verwijderen.

Ik heb ondertussen gemaild naar mijn hosting bedrijf en wacht op een antwoord.

Indien iemand een oplossing weet of me kan zeggen wat ik in de toekomst niet meer mag doen stel ik dit ten zeerste op prijs..

Bedankt
Arjan Kapteijn
Arjan Kapteijn
20 jaar geleden
 
0 +1 -0 -1
Op 16.08.2006 15:19 schreef ik een comment met een admin.php die ze wel kan verwijderen.
Steven
Steven
20 jaar geleden
 
0 +1 -0 -1
Arjan, dit heb ik ook geprobeert via ADMIN en via FTP en SMARTFTP

Via ADMIN.PHP krijg ik deze foutmelding :

Warning: unlink(): SAFE MODE Restriction in effect. The script whose uid is 806 is not allowed to access fotoalbum/Newyear/thumbs/3.jpg owned by uid 100 in *****URL***** on line 61


Warning: rmdir(fotoalbum/Newyear/thumbs/): Directory not empty in *****URL***** on line 66

Deze fout komt er X aantal keer op, dit voor iedere foto uit de map.
Steven
Steven
20 jaar geleden
 
0 +1 -0 -1
VERWIJDER PROBLEEM

Mensen die ook nog steeds kampen met dit probleem, ik heb de User en Group ID's van de folders kunnen resetten via DirectAdmin CTRLpanel en daarna de mappen kunnen verwijderen.

Eens kijken of nu alles goed verloopt, vermoedelijk kom ik terug op hetzelfde probleem indien ik nieuwe mappen toevoeg.

In ieder geval heb ik wel een methode om dit op te lossen...
Misschien ook bruikbaar voor mensen die dit ook tegenkomen

Groeten
P V
P V
20 jaar geleden
 
0 +1 -0 -1
prachtig scriptje!
heb ipv lightbox, er liytebox ingezet ( dan word de afbeelding niet groter gezet dan het scherm) en de bronafbeelding voor de lytebox heb ik de grote thumb genomen, dus direct na de kleine thumb de grote laten maken, en dan pas het stukje script om de thumbnails weer te geven (hierdoor laad lytebox de afbeelding veel sneller indien het geen geresizede zou zijn)

wat ik me nu nog afvroeg, als je afbeeldingen wilt dat overal de grote gelijk is, en je gebruikt verschillende verhoudingen van fotos (vb 15x10, 10x15, 10X10, ...) hoe zorg je er dan voor dat hij enkel rekening houd met de gegevens voor de hoogte van de thumbnails
anders krijg je zo'n thumbnailoverzicht waar de ene foto lager komt dan de andere, en dat is niet mooi.

en zou het eventueel mogelijk zijn dat hij automatisch van de thumbs een stuk afsnijd, zodat je vierkante thumbs krijgt?
Kay Kay
Kay Kay
20 jaar geleden
 
0 +1 -0 -1
Geweldig script!!!!!!
Dit is echt vet handig!! :D
NealAtleet
NealAtleet
20 jaar geleden
 
0 +1 -0 -1
Ik wil em ook gebruiken ,alleen werkt hij niet zo goed als ik wil

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
<?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();
$map             = 'fotoalbum/';

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

$hoogte_groot     = 600;
$breedte_groot     = 400;

$afbeeldingenperpagina    = 15;

//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;
    }  
}


//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']).'/';
}


//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] != 'fotoalbum')
{

    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] == 'fotoalbum')
        {

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

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


echo '<hr>';

//Open de directory en we gaan die bestand voor bestand uitlezen.
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' && $file != 'Geheim')
                {

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

    closedir($dir);
}
else{
    //Wat doe je! Je maakt hem kapot! Bel 112!!!!1111oneoneoneone
    echo 'Sorry, deze directory kan ik niet openen!';
}


//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="images/folder.gif" class="centreren"><a href="?load=fotoalbum&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).'&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).'&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="?load=fotoalbum&map='.substr_replace($map,"",-1).'&amp;foto='.($fotonr+1).'" style="border: 0px;"><img src="'.$map.'thumbs/'.$bestanden[$fotonr].'" class="thumbs"></a>';
            }
        }
    }
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="?load=fotoalbum&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="?load=fotoalbum&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],$hoogte_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" style="border: 0px;"><img src="'.$map.'thumbsgroot/'.$bestanden[$fotonr].'" class="groot" title="'.$bestanden[$fotonr].'"></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>';
        }    
    }
}

?>
Jelmer
jelmer
20 jaar geleden
 
0 +1 -0 -1
is dit een grap ofzo?! http://ijskaffeedekei.nl/fotos/fotoalbum.php ziet er prachtig uit voor zover ik werk van anderen heb gezien... heel erg bedankt voor het maken van deze template. (zou nog wel even willen weten wat er nou niet klopt)
Mark
mark
20 jaar geleden
 
0 +1 -0 -1
Hey,

Ik heb een vraag. Nu worden alle foto's achter elkaar neergezet. Hoe zorg ik ervoor dat het in rijen verdeeld word. bijv. 16 foto's per pagina en dan 4 rijen met elk 4 foto's.
 
0 +1 -0 -1
Goed script, ik had eerst wat probleempjes met het herkennen dat het bestand al bestaat, als dit nog opgelost kan worden hoor ik het graag het zit zo:
Ik heb de thumb gewoon in de thumbmap staan(de thumbmap komt nog wel uit versie 1). De naam en locatie van de thumb en wat er in het script staat is precies hetzelfde, maar toch herkent php niet dat het bestand bestaat. Hoe los ik dit op?
Sander Z
Sander Z
20 jaar geleden
 
0 +1 -0 -1
Edit:

Excuses! Zag dat mijn vraag al ruimschoots behandeld is! :$
Robin van Wijk
Robin van Wijk
20 jaar geleden
 
0 +1 -0 -1
He,

Allereerst mijn complimenten voor het mooie script!
Ik gebruik V2 op mijn website http://www.vtw-lobregtmontage.nl
Het script heeft tot op ongeveer een maandgeleden goed gewerkt. Daarna wilde ik een paar foto's in een map toevoegen echter liet hij deze foto's niet zien. Dus toen heb ik alles leeggehaald en alle foto's er weer schoon ingezet zonder thumbnail mappen. maar nu maakt hij deze ook niet opnieuw aan.
Ik heb al geprobeerd met chmod(); maar ook dat haalt niks uit. Tevens heb ik de mappen via ftp alle rechten gegeven en ook dan werkt het niet.
Weet iemand een oplossing?
alvast bedankt.
Kalle P
Kalle P
20 jaar geleden
 
0 +1 -0 -1
Kijk eens naar de foutmeldingen:
http://www.vtw-lobregtmontage.nl/fotos/fotos.php?map=FOTOS/BONBON

en is de map wel met hoofdletters?

FOTOS/WEDSTRIJDEN en de andere. Controleer eens.
Robin van Wijk
Robin van Wijk
20 jaar geleden
 
0 +1 -0 -1
de mappen zijn ook met hoofdletters.

Ik had vanmiddag even aangevinkt dat de foutmeldingen worden weergegeven. Er staat naar mijn mening wel iets vreemds tussen en dat is het gedeeltje "httpd.www/". Maar ik kan niet echt verklaren hoe dat komt. Het staat sowieso niet in mijn script. Dus dat zou betekenen dat er in de PHP-machine van mijn Host niet goed gaat? Verbeter me maar als ik mis zit :)
Leon
leon
20 jaar geleden
 
0 +1 -0 -1
Hoi....

Ik heb de de code gekopieerd en in index.php opgeslagen. bij het openen van de pagina zie ik netjes mijn mappen... klik in de mappen krijg ik de volgende foutmelding:

Fatal error: Call to undefined function: imagecreatetruecolor() in c:\program files\easyphp1-8\www\automatisch foto album\index2.php on line 39


Wie kan mij helpen!!?
Arjan Kapteijn
Arjan Kapteijn
20 jaar geleden
 
0 +1 -0 -1
Geen PHP_GD geïnstalleerd, even uncommenten/aanzetten in je easyphp installatie...
Rob
Rob
20 jaar geleden
 
0 +1 -0 -1
Prachtig script dit. Heb alleen een vraag of het mogelijk is om bijv 5 foto's horizontaal en 5 foto's verticaal te krijgen? Nu zet ie alles achter elkaar..

BVD en hulde voor dit goede script!
Dennis
Dennis
20 jaar geleden
 
0 +1 -0 -1
Wil je niet dat er een grote tumbnail gemaakt/weergegeven wordt van kleinere afbeeldingen. (Dit maakt het plaatje onduidelijk omdat pixels uitvergroot zijn) Herplaats dan deze functie in je code. Arjan zeer handig script.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo"I <3 Arjan"; ?>

Herplaats de function thumbnail met deze.
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
<?php

//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;
    }

    
    // Controle ofdat de nieuw berekende grote niet groter is als de orginele
    if(($hoogte > $hoogte_origineel) || ($breedte > $breedte_origineel)) {
    $hoogte = $hoogte_origineel;
    $breedte = $breedte_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;
    }  
}


?>
Jan Vandenbroucke
Jan Vandenbroucke
20 jaar geleden
 
0 +1 -0 -1
Wie kan mij helpen? Ik gebruik dit mooie script op de site van een school (www.destap.be). Het eigenaardige is dat er op de meeste pc's geen problemen zijn en het script perfect werkt. Echter, op andere pc's springt hij naar de homepage wanneer op een fotomap wordt geklikt. Thuis heb ik vier pc's staan, op drie ervan zijn er geen problemen, op de vierde doet hij het niet! Ik geraak er maar niet uit waaraan dit zou kunnen liggen....
Met dank voor alle bruikbare reacties!
Jan
Remco Leuven
Remco Leuven
20 jaar geleden
 
0 +1 -0 -1
De link naar je album is:
http://www.destap.be/fotos.php

Maar als ik op een album klik dan kom ik uit op:
http://www.destap.be/?map=fotoalbum/Kerst-Stap-Stop

Hij verwijst dus niet meer naar je fotos.php
Als ik dit handmatig doe, werkt het wel gewoon:
http://www.destap.be/fotos.php?map=fotoalbum/Kerst-Stap-Stop
Jan Vandenbroucke
Jan Vandenbroucke
20 jaar geleden
 
0 +1 -0 -1
Dag Remco,
daar was ik ook al uit, maar hoe komt het dat hij dat soms wel doet en soms niet? Browserversie? Instelling van de browser? Ik weet het echt niet...
Jan
TommyAB
TommyAB
20 jaar geleden
 
0 +1 -0 -1
Mensen ik krijg een fout melding wanneer ik de map met foto's aanroep!

Fatal error: Allowed memory size of 16777216 bytes exhausted (tried to allocate 9088 bytes)

Help?! (ps ik heb weinig verstnd van php)

Greetz
Mvos
mvos
20 jaar geleden
 
0 +1 -0 -1
de foto is dan te groot
TommyAB
TommyAB
20 jaar geleden
 
0 +1 -0 -1
Is hier een oplossing voor zodat je wel gewoon een orgineel foto bestand kan uploaden en het script er geen probleem van maakt?
Mvos
mvos
20 jaar geleden
 
0 +1 -0 -1
kijk hier eens:
http://www.flashfocus.nl/forum/showthread.php?t=22592 mischien heb je er wat aan:)
Tim
tim
20 jaar geleden
 
0 +1 -0 -1
Bedankt!
Jaap
Jaap
19 jaar geleden
 
0 +1 -0 -1
Super! Thnx.

Precies wat ik zocht XD
Djimmy
Djimmy
19 jaar geleden
 
0 +1 -0 -1
Hallo,

Allereest ik vind dit een geweldig script, maar ik loop tegen een probleem aan, ik wil dit gaan implementeren maar ik heb ook fotos in BMP formaat. Is het mogelijk om deze extensie toe te voegen?

Ik ben zelf al aan het experimenteren geweest maar het is mij tot op heden niet gelukt.

Gr. Djimmy
Klaasjan Boven
Klaasjan Boven
19 jaar geleden
 
0 +1 -0 -1
Djimmy check
hier
Ronnie
Ronnie
19 jaar geleden
 
0 +1 -0 -1
Heeft iemand al een oplossing om door Apache aangemaakte bestanden te verwijderen op servers die niet in eigen beheer zijn? Zoals Webreus etc.

Ik heb geprobeert met de bovenstaande oplossingen, maar dit werkt niet. Alleen als ik bel met de webhost. Dit is echter vrij omslachtig.

Een chown werkt niet, chmod (achteraf) werkt ook niet. Iemand die wel een oplossing weet?

Alvast bedankt!
Arjan Kapteijn
Arjan Kapteijn
19 jaar geleden
 
0 +1 -0 -1
Aangezien ikzelf ook linux-servers heb, na het toevoegen van een aantal chmod() php-functies werkt het allemaal prima.
Herbert Foppen
Herbert Foppen
19 jaar geleden
 
0 +1 -0 -1
Lijkt me een mooi script, ga het zeker eens uittesten.
Ben alleen benieuwd of hij ook iets doet met de exif-gegevens van de foto. Het online voorbeeld geeft die informatie niet aan, maar ik zou het er wel graag bij willen. Iemand nog een suggestie?

Andere optie zou zijn dat ik die informatie op de foto's zet die ik ga uploaden, maar bovenstaande lijkt mij mooier!
Arjan Kapteijn
Arjan Kapteijn
19 jaar geleden
 
Kevin
Kevin
19 jaar geleden
 
0 +1 -0 -1
Het werkt nu wel, maar als ik op de map klik op mijn website word ik automatisch doorverwezen naar de home pagina. Wat doe ik verkeerd? of waar kan dit aan liggen.

alvast bedankt!
Delano
delano
19 jaar geleden
 
0 +1 -0 -1
hoi, als ik onderstaande wil gebruiken, wat voor bestandsnaam moet ik het dan geven?

img.centreren {
vertical-align:middle;
margin: 5px;
border: 0px;
}

img.thumbs {
vertical-align:middle;
border: 0px;
margin: 10px;
}

img.groot {
vertical-align:middle;
border: 0px;
}
Sonny
sonny
19 jaar geleden
 
0 +1 -0 -1
Ik weet dat ik de zoveelste ben die het vraagt ! Maar begin net met php ....
Hoe Sorteer ik de foto's in rijen horizontaal 5 en verticaal 5 bijvoorbeeld want nu plaats die ze allemaal achterelkaar!

Heb hier boven die vragen ook al gezien weet dat er enkele keer antwoord op is gegeven maar kom er niet uit !

Bedankt alvast !
W W
W W
19 jaar geleden
 
0 +1 -0 -1
knal het in een divje? geef een breedte mee? Dan komt alles goed :)
Niels
Niels
19 jaar geleden
 
0 +1 -0 -1
Eerst en vooral een heel mooi script.

Nu zit ik met een probleem wat ik hierboven al enkele keren heb gelezen, maar nog steeds geen oplossing.

Ik krijg alle foto's op 1 rij te zien. Wat kan ik hier aan doen??

Alvast bedankt,

Nielz
Niels
Niels
19 jaar geleden
 
0 +1 -0 -1
Voor al diegene die:

HUN FOTOS ACHTER ELKAAR KRIJGEN

heb ik de oplossing gevonden. Zet gewoon voor de ganse php-code:

<div style="float:left">

en het spreekt voor zich, na de php code:

</div>

Groetjes
Hanneke Jansen
hanneke Jansen
19 jaar geleden
 
0 +1 -0 -1
Werk bij mij prima, heb hem ook met lytebox en het ziet er echt prima uit!

Nu nog eens even met de stylesheet aan de gang!
Dennis
dennis
19 jaar geleden
 
0 +1 -0 -1
Hallo ,

ik heb de map gemaakt : fotoalbum met daarin de map foto en er werd automatisch de map thumbs aan gemaakt.

ik heb 2 foto's in de map foto gezet maar er gebeurd niks? hoe kan dit

alles is 777 dus
Joeri de Groot
Joeri de Groot
19 jaar geleden
 
0 +1 -0 -1
Helemaal top!! Precies wat ik zocht!!
Ik smeek jullie alleen om de "20 regels" waarmee je zelf online kan uploaden online te zetten. Dit script is namelijk voor mijn oma die zelf een fotoboek wil bijhouden, maar die kan natuurlijk niet met ftp enzo. Zelf kom ik er echt niet uit, ben nu al 1,5 uur tevergeefs aan het zoeken en proberen...

Weet iemand AUB de oplossing???

Albvast bedankt!!
D-unid.com
D-unid.com
19 jaar geleden
 
0 +1 -0 -1
Hallo,

Ik heb dit script ook gewoon het orgineel van deze site,
Nou zet ik altijd mij foto's op datum.
Maar dat album zet alle mappen met foto's doorelkaar op de mijn website.

Hoe krijg ik dit zo zodat als ik een map toevoeg dat hij automatich boven aan komt?

Alvast bedankt.
Anne
anne
19 jaar geleden
 
0 +1 -0 -1
Echt weer een suppermooi script!:) En ook zo makkelijk uit te breiden / aan te passen!:)
Albert B
Albert B
19 jaar geleden
 
0 +1 -0 -1
Hallo Arjan,
Ik ben een beginner in php heb wel ervaring in delphi ik vind dit eenprima script en ga het inbouwen in een bloemen website. Ik wil er nog wat aan veranderen, nl als ik een serie thumbs laat zien, hoeft de gebruiker maar op een plaatje te klikken of er komt i.p.v. het overzicht een apart bladermenu, dat wil ik liever niet. de gebruiker heeft bij mij al gekozen voor een arrangement en kan dit nog eens wat groter bekijken. Hoe dat moet, weet ik (nog) niet, maar mischien heeft iemand tips. Mijn eindsituatie moet zijn dat er in een div een serie van ca. 10 plaatjes worden getoond. (thumbs) na een druk op een thumb moet in het zelfde divje een paar regels lager de grotere foto komen. Hopelijk weet iemand hierin raad
groet Albert
Robin van der linde
robin van der linde
19 jaar geleden
 
0 +1 -0 -1
ik heb een probleem met het foto album
Fatal error: Cannot redeclare arrayschoonmaken() in /home/jmserver/host/robin/jasper's cms/pagina/fotoalbum.php on line 19
ik ben een beginner maar hier snap ik niks van
ik heb het eerder op mij host gebruikt de zlefde server alle wat ander site er om heen gemaakt maar nu werkt hij niet ook zo als ik het hier van daan hal en neer zet
ik vind het faag
Arjan Kapteijn
Arjan Kapteijn
19 jaar geleden
 
0 +1 -0 -1
Robin, waarschijnlijk gaat er ergens iets niet lekker met je includes want je probeert voor de 2e keer de functie arrayschoonmaken() aan te maken.
Robin van der linde
robin van der linde
19 jaar geleden
 
0 +1 -0 -1
bedankt hij werkt

ik heb allen probleem nog met admin
Parse error: syntax error, unexpected '}', expecting ',' or ';' in /home/jmserver/host/robin/jasper's cms/admin/fotoalbum.php on line 215
Gino Van Nauw
Gino Van Nauw
19 jaar geleden
 
0 +1 -0 -1
Hoi allemaal,
ik heb gisteren dit prachtige programma geinstalleerd. Ik zit echter met een eigenaardigheid voor wat betreft het tekentje voor de mapinhoud (logo.gif). De eerste maal verschijnt het voor de map zonder probleem. Wanneer nu de map echter geopend wordt en er daarna opnieuw het overzicht wordt getoond, komt het niet meer te voorschijn. Ik heb me al te pletter gezocht maar kan hiervoor geen uitleg vinden. Voor diegenen die even willen kijken .. www.in-balance.be en dan doorklikken naar fotoboek. Ik heb nog eentje laten staan waarbij het logo wel verschijnt voor de mapnaam om een en ander duidelijk te maken.
Alvast van harte bedankt .. en Arjan .. geweldig programma !!
Arjan Kapteijn
Arjan Kapteijn
19 jaar geleden
 
0 +1 -0 -1
Zeker weten dat je niks hebt aangepast? Hij verwijst naar fotoalbum/pdance/thumbs/thumbs, dat kan niet kloppen...
Kay Kay
Kay Kay
19 jaar geleden
 
0 +1 -0 -1
Het is nu mogelijk om naar een pagina te gaan die er niet is (bij de thumbnails) Kijk maar
Hiervoor moet even dit even toegevoegd/veranderd worden:

regel 153 t/m 163
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
        if(isset($_GET['paginanr']))
        {

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

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

        
        $aantalfotos = count($bestanden);
?>

Door
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php
        $aantalfotos
= count($bestanden);
        if(isset($_GET['paginanr']) AND ($_GET['paginanr']-1) < floor(($aantalfotos -1)/$afbeeldingenperpagina))
        {

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

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

?>
Gino Van Nauw
Gino Van Nauw
19 jaar geleden
 
0 +1 -0 -1
Het enige wat ik had aangepast was een bijvoeging in de switch statement om foto's met extensie bmp mee in te laden. Het rare is dat, vooraleer de thumbnails worden aangemaakt, ht icoon wel correct verschijnt..
(ik heb de aanpassing terug verwijderd, maar veel schijnt het niet te helpen ...)
Gino Van Nauw
Gino Van Nauw
19 jaar geleden
 
0 +1 -0 -1
Opgelost!! Heb blijkbaar een verkeerd stuk codering gekopieerd. Heb het stukje verwijderd en alles werkt nu naar behoren.
Sorry voor de verwarring..
Pislink
Pislink
19 jaar geleden
 
0 +1 -0 -1
Ik heb een groot probleem!!!!!!!

Ik had het script op de juiste manier op de server gezet, mappen goed benoemd, foto's geüpload etc.
Als ik de pagina opriep kreeg ik geen enkele foto of thumbnail te zien!
Terwijl er wel degelijk thumbnails gemaakt waren door het script.
Na een tijd uitpluizen wat er nu mis ging heb ik de moed maar opgegeven en alles verwijderd.
Echter...... de mappen thumbs en de daarin aangemaakte thumbnails kan ik op geen enkele manier verwijderen!
Ik heb ook de scripts gebruikt die eerder als oplossing werden aangedragen.
Ik kreeg te zien dat alles verwijderd was..... alleen bleek dat dus niet zo te zijn! De thumbs-mappen en de thumbnails staan nog vrolijk op de server!!!!!!!!!!
Ik heb GVD een hele avond al verkloot aan dit probleem.
Graag ZSM een werkende oplossing!!!!
Arjan Kapteijn
Arjan Kapteijn
19 jaar geleden
 
0 +1 -0 -1
Mensen die zo met tegen andere mensen tekeer gaan hoeven geen hulp te verwachten, succes.
Cunces v
cunces v
19 jaar geleden
 
0 +1 -0 -1
is er een manier om de thumbs automatisch te verwijderen, wanneer een foto verwijderd wordt van het fotoalbum?
Arjan Kapteijn
Arjan Kapteijn
19 jaar geleden
 
0 +1 -0 -1
De admin die ik geschreven heb doet dat voor je, maar als je bedoeld 'handmatig verwijderen' dan moet ik helaas mededelen dat daar geen oplossing voor is, immers zijn de afbeelding verder niet gelinkt (tenzij je een script wilt gaan schrijven wat dat gaat controleren :P).
Pislink
Pislink
19 jaar geleden
 
0 +1 -0 -1
Pardon?

Ik kom een script tegen wat mooie resultaten zou moeten geven. Het werkt echter niet om één of andere reden, blijkt ook nog eens dat het script thumbnails op de server plaatst die niet verwijderd kunnen worden, zelfs niet met de geschreven "admin".... mag ik dan wat kwaad worden? Ik heb er een hele avond aan vergooid.
Als je dan vervolgens geen verantwoordelijkheid voor je script, en de gevolgen daarvan, wil nemen is wel erg. Plaats dan niet je script voor publiekelijk gebruik maar houd het dan voor jezelf!
Arjan Kapteijn
Arjan Kapteijn
19 jaar geleden
 
0 +1 -0 -1
Als je had gezegd 'volgens mij klopt er iets niet aan je script in deze situatie (besturingssysteem zus en zo)' dan had ik je best de oplossing willen geven. Misschien had ik zelfs nog wel een versie willen sturen waarmee dit probleem is opgelost want het script wat jij gedownload hebt is ondertussen alweer 2 en een half jaar oud.

En met betrekking tot je laatste opmerking, er zijn erg veel mensen die dit script wel met plezier gebruiken.
Pislink
Pislink
19 jaar geleden
 
0 +1 -0 -1
Aan de eerdere reakties te lezen hebben meer mensen problemen met het verwijderen van mappen en thumbnails terwijl je een versie hebt die dat probleem niet kent. Waarom is het dan nog mogelijk dat mensen dit script kunnen gebruiken en deze niet vervangen is door de betere versie?

Dat het script al 2 en een half jaar oud is doet er niet toe..... aan de vele reakties te zien is dit script nog steeds "hot". Ik kan begrijpen dat er wel mensen zijn die veel plezier beleven aan het script, het voorbeeld ziet er mooi uit. Ik wilde niet voor niets het script gebruiken.

Als het script niet helemaal goed had gewerkt, had ik m'n schouders wel opgehaald en een ander script geprobeerd. Nu zit ik echter met bestanden op de server die ik niet meer kan verwijderen, dat is in mijn ogen onacceptabel.
Ik hoop dat je begrijpt dat iemand wel eens kwaad kan worden omdat ie een hele avond verpest ziet... niet vanwege een onvolledig werkend script, maar vanwege niet-verwijderbare bestanden.

Dat ik enkele "minder nette" woorden in m'n schijven heb gebruikt is inderdaad niet helemaal correct en neem daar verantwoordelijkheid voor.... bij deze mijn excuses aan diegene die zich beledigd o.i.d. voel(d)en
PHP Newbie
PHP Newbie
19 jaar geleden
 
0 +1 -0 -1
chmod
Johan M
Johan M
19 jaar geleden
 
0 +1 -0 -1
Afgezien van de manier van reageren van de persoon die zich "Pislink" noemt en het feit dat dit in principe een uitstekend script is dat ikzelf nog op diverse sites heb draaien (met enige aanpassingen), wil ik toch even reageren. De genoemde excuses lijken mij dan ook wel terecht.

Aangezien dit script zelf de thumb-mappen en de thumbernails aanmaakt, is het script, dus bij jou waarschijnlijk je Apache-webserver, de eigenaar van deze mappen en thumbernails. Je kunt dan inderdaad met behulp van FTP de mappen niet verwijderen. Ook kan je ze niet (met FTP) chmodden en dáárna verwijderen. Een oplossing hiervoor is het verwijderen (of chmodden) op de manier waarmee ze ook gemaakt zijn: met een PHP-file!

Als je Google eventjes had gebruikt met een aantal treffende (desnoods Engelse) steekwoorden, dan had je bijvoorbeeld bij "PHP File Manager" ( http://phpfm.sourceforge.net/ ) uit kunnen komen (uploaden naar je server, mappen en thumbernails verwijderen of chmodden, en daarna niet vergeten PHP File Manager weer te verwijderen! (Dit kan wel gewoon met FTP).

De aanpassingen die ik heb gemaakt in mijn versies van dit scripts zijn onder andere het chmodden na het aanmaken van de mappen en thumbernails, zodat deze wel gewoon zijn te verwijderen met je FTP als je dat wilt.
Ongetwijfeld zit dit ook in de nieuwe versie van Arjan, dus ik zou het zeer op prijs stellen als deze hier gepost zou kunnen worden. Zoals eerder aangegeven is dit script inderdaad nog steeds erg in trek!

Aan "meneer Pislink" (met alle respect, hoe verzin je het überhaupt om je zo te noemen, deze instelling zal niet snel iets oplossen) zou ik willen zeggen: stel je vragen, en reageer, a.u.b. een beetje beleefd. Zo houden we het een stuk langer met elkaar vol en zo vinden mensen het prettiger om, en zijn ze eerder bereid om je met je problemen te helpen. Ook met Google kom je heel ver, daarmee schiet je meer op als met dit soort posts. Onthoud: voor elk probleem is een oplossing, zeker wat PHP betreft!

Doe er wat mee als je wilt, en laat even weten of PHP File Manager heeft geholpen. Vergeet vooral deze niet ook weer van je server te verwijderen, anders kan straks mogelijk iedereen je bestanden verwijderen!

Met vriendelijke groet,
Johan.

// Edit: @Arjan: ik zit deze pagina even terug te lezen en zie dat je op 16-08-2006 een veel uitgebreidere meer-pagina versie hebt gepost. Mijn reactie van hierboven over herposten van een nieuwere versie is dus niet geheel relevant, maar zo zie je maar hoe makkelijk je soms over dingen heen kijkt als je te lui bent om alles te lezen (lees: ikzelf [om misverstanden te voorkomen]).
Echter gaat mijn voorkeur wat dit soort applicaties betreft uit naar 1-pagina-scripts zoals de orginele post was (aparte CSS zou er ook tussen passen als je wilt), toevoegen en verwijderen doe ik toch via FTP. Een kleinde chmod-toevoeging in de source lost dit verwijder-probleem geheel op.
CU., Johan.
PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Arjan Kapteijn
Arjan Kapteijn
19 jaar geleden
 
0 +1 -0 -1
Die uitbreiding heb ik toen gemaakt voor mensen met linuxservers en dus dit probleem, het is niks meer dan een eenvoudige admin.php waarmee je losse fotos + de thumbs kunt verwijderen, of met 1 klik een complete map.

Ikzelf heb uiteraard een verbeterde versie; waarbij ik een glob gebruikt waardoor het sneller/eenvoudiger word en dingetjes heb toegevoegd als een chmod en ondersteuning voor transparantie en andere documenten (doc, word, excel, pdf). Maar ook aanpassingen zoals een random afbeelding uit een album als link naar een plaatje en uiteraard het een en andere aan verbeteringen in de beveiliging die ik door de jaren heen heb geleerd.

De rede dat ik gestopt ben met het delen van mijn script? Ten eerste verdient iedereen geld met mijn scripts behalve ik, wat op zich niet erg vind totdat ik erachter kwam dat er mensen zijn die doen alsof het hun script is en vervolgens aan andere mensen 'het recht verkopen om dit script te verkopen'. Daarnaast was ik de reacties gewoon zat, kom nou, zo gaan we verdomme toch niet met elkaar om?

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

Inhoudsopgave

  1. automatisch-fotoalbum-v2

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.