Automatisch fotoalbum

Door Arian Stolwijk, 13 jaar geleden, 5.035x bekeken

Naar aanleiding van Arjan Kapteijn zijn fotoalbum, heb ik ook mijn eigen gallery geschreven die net zo gemakkelijk kan worden gebruikt als die van Arjan.

Mijn script is alleen iets minder kort. Dit komt omdat ik het zoveel mogelijk m.b.v. OOP gedaan heb.

Ik post het script niet volledig oop het forum, omdat er 17 essentiële bestanden zijn. Daarom heb ik een download gemaakt: http://moocanvasshadow.googlecode.com/files/photo_gallery.zip

Een aantal voordelen van mijn script zijn:
- Er wordt van templates gebruik gemaakt (Momenteel gewoon php templates)
- Je kan deze template parser makkelijk vervangen voor smarty oid.
- Zend/PEAR class naamgeving. (bv. Lib_Template_Interface) (dus autoload is makkelijk te gebruiken)
- Je kan je eigen router/url parser eraan pluggen. Standaard wordt gebruik gemaakt van de $_GET array.
- (semi)-OOP
- Dankzij Boaz heb je gelijk een mooie image class
- Foto's in een mapje plaatsen, en het wordt automatisch herkent
- Dus geen database oid nodig.
- Gebruik van PHP5
- De fotos worden automatisch geresized en opgeslagen zodat een foto slechts één keer hoeft te worden geresized.

Het gebruik is vrij gemakkelijk.
Upload een mapje met daarin foto's naar het mapje 'photos/orig'.
En als je dan index.php opent, heb je gelijk resultaat.

Je kunt een array maken met allerlei opties, die je aan het Lib_Gallery object kan meegeven. In het bestand lib/gallery.php staat deze volledige array met de standaard waardes.

met de Lib_Gallery::setView() kan je je eigen template parser doorgeven. Dit moet dan wel een instance van Lib_Template_Interface, zodat Lib_Gallery weet dat het wel die methods kan gebruiken.
Dat kan je natuurlijk vrij gemakkelijk doen door een nieuwe class te maken, de interface implementeren en Smarty/Dwoo/etc... te extenden.

Met de method Lib_Gallery::setUrlParams() kan je de parameters doorgeven. Deze kan je bijvoorbeeld op deze manier parsen/gebruiken

in de map Lib/Gallery vind je 3 bestanden: Albums.php, Dir.php en Photo.php.
Dit zijn een soort Controllers. Albums.php zorgt voor de pagina met het overzicht van de mappen, Dir.php zorgt voor de thumbs en Photo.php zorgt voor de pagina met de grotere foto.
Bij elke class hoort dan weer een template die je kunt vinden in de map templates.

Voorbeeld: http://www.aryweb.nl/voorbeelden/foto_gallery/

Gesponsorde koppelingen

PHP script bestanden

  1. automatisch-fotoalbum

 

Er zijn 23 reacties op 'Automatisch fotoalbum'

PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Andytjuh Bruggeman
andytjuh Bruggeman
13 jaar geleden
 
0 +1 -0 -1
Netjes een zeer mooie script :)

Deze ga ik wel ff studeren :)
RvW Of toch niet
RvW Of toch niet
13 jaar geleden
 
0 +1 -0 -1
hier duiken we zeker even in.
Michael -
Michael -
13 jaar geleden
 
0 +1 -0 -1
Lokaal ziet ie er erg mooi uit!
Ik had nog een fotoalbum nodig, alleen de site waarvoor ik 'm wou gebruiken heeft nog geen PHP5 en krijg dus de fout melding:
Fatal error: Call to undefined function: spl_autoload_register()
Is hier misschien nog een oplossing voor?

Edit:
Laat ook maar. Ik link 'm wel via m'n eigen site. Daar staat PHP5.2.3 op (betere up-to-date hosting).
Arian Stolwijk
Arian Stolwijk
13 jaar geleden
 
0 +1 -0 -1
@ Turmin: Ja PHP 5.2 (weet niet of 5.0 het ook doet, niet getest) is wel een vereiste. (OOP +) PHP4 == hell :P

Op de voorbeeld site draait ook PHP 5.2.3 ofzo.. dus dat moet het doen ;)
Ik ondersteun expres geen PHP4 meer, omdat ik vind dat men nu wel een keer heeft mogen upgraden naar PHP5.
Michael -
Michael -
13 jaar geleden
 
0 +1 -0 -1
Quote:
Ik ondersteun expres geen PHP4 meer, omdat ik vind dat men nu wel een keer heeft mogen upgraden naar PHP5.

Er zijn nog steeds hostings die op php4 zitten :(
Arian Stolwijk
Arian Stolwijk
13 jaar geleden
 
0 +1 -0 -1
Quote:
Er zijn nog steeds hostings die op php4 zitten :(


Helaas wel... Maar als iedereen tegen zijn hoster zegt dat ze php5 willen, of verhuizen omdat er geen php5 ondersteund, wordt, zullen de hosters zichzelf vast wel achter de oren gaan krabben lijkt me...
Ruud
ruud
13 jaar geleden
 
0 +1 -0 -1
Ik heb de bestanden op 2 servers van mij gezet. Op de eerste server krijg ik helemaal niets te zien (pagina blijft leeg als ik naar de URL ga), en op de 2de server krijg ik de volgende errors:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
Warning: require_once(Lib/Gallery/Page/Abstract.php) [function.require-once]: failed to open stream: No such file or directory in /usr/home/deb7560/domains/pro-aviation.nl/public_html/foto/index.php on line 5

Fatal error: require_once() [function.require]: Failed opening required 'Lib/Gallery/Page/Abstract.php' (include_path='.:/usr/local/lib/php') in /usr/home/deb7560/domains/pro-aviation.nl/public_html/foto/index.php on line 5


wat gaat er fout?
Arian Stolwijk
Arian Stolwijk
13 jaar geleden
 
0 +1 -0 -1
Zeker weten dat je alles goed geupload hebt??
Ik heb verder niks raars gedaan met include_paths e.d...

Als je helemaal niks ziet, kan je bovenaan in index.php ook nog error_reporting(E_ALL); plaatsen.. Dan krijg je namelijk wat extra errors waar je misschien wel wat wijzer uit kunt worden.
Ruud
ruud
13 jaar geleden
 
0 +1 -0 -1
hmm heel vreemd allemaal.
als ik het fotoalbum op mijn localhost zet, dan werkt ie dus wel (op mijn eigen pc). Maar zodra ik die op mijn host zet, werkt het weer niet.
Tamara
Tamara
13 jaar geleden
 
0 +1 -0 -1
ondersteund je host wel php5?
Ruud
ruud
13 jaar geleden
 
0 +1 -0 -1
beide hosts ondersteunen PHP 5
Arian Stolwijk
Arian Stolwijk
13 jaar geleden
 
0 +1 -0 -1
Heb je de error reporting al aangepast? Wat krijg je dan voor errors?
Het kan zijn dat je nog PHP 5.0 oid hebt, je hebt echt wel PHP 5.2 nodig, hoewel 5.1 het eventueel ook nog wel zou kunnen doen, maar dat heb ik niet zo getest.

Wat voor erros krijg je als je de error_reporting() hebt aagepast... ?
Ruud
ruud
13 jaar geleden
 
0 +1 -0 -1
bij de ene host krijg ik geen error te zien, bij de andere dezelfde errors als hierboven staan.
Gerben G
Gerben G
13 jaar geleden
 
0 +1 -0 -1
Het bestand bestaat niet.
Ruud
ruud
13 jaar geleden
 
0 +1 -0 -1
Ja maar zover was ik ook al. Ik heb het hele zip bestand wat hierboven staat gedownload, geupload naar de server en werkt niet.
Anne
Anne
13 jaar geleden
 
0 +1 -0 -1
Geweldig script! Is het misschien mogelijk een admin module te ontwikkelen, zodat je gewoon vanuit je browser foto's kan uploaden en mappen kan aanmaken?
Bij het script van Arjan Kapteijn kan dat namelijk ook niet, wat ik erg jammer vind. Misschien is het erg simpel, maar ik weet niet hoe het moet...

Verder echt een mooi script!
Arian Stolwijk
Arian Stolwijk
13 jaar geleden
 
0 +1 -0 -1
@ Anne

Ik nodig iedereen uit om een admin module te maken. Het kan heel simpel opzich.
Desondanks staat het momenteel nog niet op mijn ToDo's lijstje. Misschien dat het er ooit van komt, maar not at the moment
Sander
Sander
13 jaar geleden
 
0 +1 -0 -1
@Arian
Prachtig script, heb het geprobeerd en werkt lokaal niet maar kwam erachter dat dit te maken had met de PHP versie. Op mijn host draait het perfect, heel goed gedaan.

Harstikke bedankt
Johan
johan
13 jaar geleden
 
0 +1 -0 -1
ziet er leuk uit. Alleen jammer dat er niet zoveel functies in zitten, wat leuk zou zijn is als je op de foto klikt dat je dat een pop-up/nieuw pagina krijgt met de foto en een text.. en het is jammer dat er geen titel bij de foto staat..
Arian Stolwijk
Arian Stolwijk
13 jaar geleden
 
0 +1 -0 -1
@ Johan
titels erbij maken is een beetje lastig, omdat hij gewoon een map uitleest. Als je er titels bij wilt, wordt het al snel alweer lastiger. Dan zou je moeten gaan werken met een database of xml of csv bestanden.

Datzelfde geldt ook voor een tekstje erbij.
Je kunt wel al wat doen met (een) lightbox, dan krijg je nog wel een grotere afbeelding/soort popup van de foto.
Piet puck
piet puck
11 jaar geleden
 
0 +1 -0 -1
Bedankt werkt goed.
maar kan je hem ook in een website integreren.
Piet puck
piet puck
11 jaar geleden
 
0 +1 -0 -1
Probleem al gevonden moest hem in de root zetten
PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Danny A-noniem
Danny A-noniem
10 jaar geleden
 
0 +1 -0 -1
er zijn idd hostings die nog 4 draaien maar 5 erachter draaien
deze kun je aanzetten door een .htaccess te zetten in je root met de tekst
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
AddHandler x-httpd-php5 .php

ik zit zelf bij hosting2go en die hebben beide draaien.

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

Inhoudsopgave

  1. automatisch-fotoalbum

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.