[PHP] volgende bestand in directory

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • MBV
  • Registratie: Februari 2002
  • Laatst online: 20-09 22:44
Hallo behulpzame medetweakers,

Ik heb een PHP-script dat mijn fotoalbum presenteert (www.mvdvlist.nl/images/). Dit zit qua code (en layout ook wel ;) ) zo slecht in elkaar, dat ik dit ding opnieuw aan het schrijven ben. Mijn idee bij dit ding was dat het eenvoudig te gebruiken moet zijn. Mijn index.php script loopt dus door de directory (die bovenaan index.php staat vermeld :X) heen, en produceren op basis van de inhoud de lijst met directory's en bestanden enz. getthumb.php genereert een thumbnail wanneer nodig, en dumpt hem in de cache directory. Niks geen database of wat dan ook. Dit principe wil ik overeind houden.

Nu zit ik met een probleem: ik ben nu bezig met een midsizedFrame.php pagina, die het plaatje (resized) weergeeft. Daarbij lijkt het mij netjes en noodzakelijk om navigatie mogelijk te maken: directory-overzicht, home, vorige foto en volgende foto. De eerste 2 zijn niet het probleem, het gaat mij meer om de laatste 2. Hoe zorg ik dat op een betrouwbare manier de volgende en vorige foto worden getoond?

Ik zie een paar mogelijkheden:
- in URL volgende en vorige meegeven. Geen mogelijkheid, aangezien je 2x op volgende moet kunnen klikken
- in sessie een array met alle bestanden meegeven. Slaat nieuwe bestanden over.
- script door alle bestanden laten fietsen tot hij 'zichzelf' tegenkomt, en dan vorige/volgende berekenen.
- iterator serialiseren. Geen idee of dat werkt met het Directory-'object' in PHP4.

Welke is de beste, denken jullie? Of zie ik iets over het hoofd? 2 en 3 lijken mij namelijk nogal bewerkelijk.

Oh ja, het ding is nu OOD/OOP in PHP4. Debian heeft nog geen PHP5, en PHP4 OOP is tenminste nog een uitdaging ;)

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

script door alle bestanden laten fietsen tot hij 'zichzelf' tegenkomt, en dan vorige/volgende berekenen.
Ik denk dat dit de makkelijkste oplossing is. Geef in de URL mee welk bestand je bekeek, en zet dan een nieuwe variabele voor vorige/volgende. Op de pagina waar je naar linkt zoek je eerste de file op die je net bekeek, en kijkt dan wat de vorige/volgende file is. Lijkt me het makkelijkst te implementen en je hoeft niet met sessies te werken. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • MBV
  • Registratie: Februari 2002
  • Laatst online: 20-09 22:44
Bij IT-ers gaat alles automatisch, maar niets vanzelf.
prima van toepassing op mijn site: ik wilde niet elke keer dat ik foto's upload iets hoeven te doen, dus maak ik een script (waar ik toen weken mee bezig was bij gebrek aan gestructureerd ontwerp)

/ontopic: Ik ben hier een beetje huiverig voor: hoe groot is de kans dat de volgorde van bestanden wisselt van keer tot keer? Ik ben nu bezig op debian, maar stel dat ik dit op sourceforge ga zetten, werkt het dan ook op windows?

Acties:
  • 0 Henk 'm!

  • Icey
  • Registratie: November 2001
  • Laatst online: 17-09 16:46
Je zou voor de gein eens scry kunnen downloaden. Een heel simpel script wat eigenlijk presies doet wat jij zou willen.
  • Displays of a directory tree of photos without needing a database
  • Automatic thumbnailing and image caching
  • Optional EXIF support via exifer
  • Configurable image sizing, pagination, URL layout
  • XHTML 1.0 compliance
  • Easy PHP templates for including in another site or reskinning
  • Designed for security
  • Designed for speed
Wellicht zou je daar wat handige codes/oplossingen uit kunnen halen. :).

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Van keer tot keer zal de volgorde waarschijnlijk niet wijzigen. Zeker niet als je de bestanden zelf eerst even door een sorteerfunctie haalt, die alle bestanden even op naam sorteert. ;) Als je die sortering ook nog case insensitive maakt, is de sortering zowel in Linux als in Windows als het goed is hetzelfde.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • MBV
  • Registratie: Februari 2002
  • Laatst online: 20-09 22:44
Ach, sorteren was ik zoieso al van plan.

@Icey: F*ck! Ik dacht dat ik de eerste was! Geniaal idee enzo :'( En NEE: ik ga GEEN code jatten! IKKE DOEN WILLE! :+ zei mijn zusje nogal vaak tot ze 14 was ofzo, is erg ingeburgerd in de familie ;)

Uiteraard wil ik hiervan leren. Hoe ga je een OOD systeem maken voor zoiets, wat pakt handig uit en wat niet. Het is iets wat ik al tijden van plan was om opnieuw te programmeren, als 'leerproject'. Kennelijk gaat me dat goed af, aangezien ik al voor 75% klaar ben in 2 dagen. Valt wel tegen dat ik veel meer regels code nodig heb dan die andere: zit nu al gelijk. Maar deze is onderhoudbaar :) die andere kostte me echt veel te veel tijd qua debuggen...
oud: 567 totaal, nieuw 557 totaal, waarvan 406 in framework.inc.php :). Nieuw zit nog totaal geen layout in (gewoon <ul><li>plaatje</li></ul>), mist nog een opschoonfunctie, en heeft bij mijn weten niks nieuws t.o.v. oud.

edit:
goed, die van mij gaat dus niet op sourceforge voordat ik hem 2x zo snel heb gemaakt. Of is hun kwaliteit thumbnails zo slecht? :'(

[ Voor 22% gewijzigd door MBV op 06-07-2005 23:33 ]


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

MBV schreef op woensdag 06 juli 2005 @ 23:23:
edit:
goed, die van mij gaat dus niet op sourceforge voordat ik hem 2x zo snel heb gemaakt. Of is hun kwaliteit thumbnails zo slecht? :'(
Maak je je thumbs on the fly ofzo? Zo ja, lees dan dit even door: P&W FAQ - Image Manipulation in PHP. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • MBV
  • Registratie: Februari 2002
  • Laatst online: 20-09 22:44
Nee, dat doe ik niet. Ik doe een imagecopyresampled(...veel params...), save de thumbnail in /cache/*, en vraag hem de volgende keer weer op. stond ook in de TS :). Toch duurt mijn check kennelijk net 0,1 sec langer dan die van hem, aangezien het niet zo snel 'aanvoelt'. Of mijn server is gewoon langzamer dan de voorbeelden die ik vond :)
edit:
direct een bijdrage geleverd voor scry in de vorm van een tip bij een feature request :)

Waarom kan je niet gewoon snel en goed resizen met GD2, zoals je kan met elk willekeurig fotobewerkingsprogramma? Gewoon wat code van the GIMP jatten ofzo, imagecopyresampled duurt echt veel te lang :Z en imagecopyresized is veel te slecht

[ Voor 38% gewijzigd door MBV op 06-07-2005 23:56 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Is het niet mogelijk om eerste een volgorde in een database te pletteren en dan mbv queries de juiste foto/image ophalen vanuit de database? Altans ik zou het zo oplossen.

Acties:
  • 0 Henk 'm!

  • MBV
  • Registratie: Februari 2002
  • Laatst online: 20-09 22:44
En dan elke keer weer de database laten updaten? Dat wil ik nu juist vermijden, net zoals ze bij scry hebben gedaan. Ik ga dat vandaag erin hacken, heb nog wel een paar uurtjes over.

Moet alleen nog wel mijn PictureIterator laten sorteren...

[ Voor 15% gewijzigd door MBV op 07-07-2005 12:14 ]

Pagina: 1