Vraag & Antwoord

Webprogrammeren & scripting

[php] niet random maar opvolgend image

2 antwoorden
  • Ik maak met veel plezier gebruik van dit [url=http://automaticlabs.com/products/rotator/]Automatic Image Rotation[/url] script. Zo krijgt de bezoeker als hij van pagina naar pagina klikt at random telkens een andere afbeelding te zien. Wat ik nu wil is een script dat dat de afbeeldingen niet at random toont, maar volgens een oplopende (alfa-)numerieke volgorde (bijvoorbeeld eerst 1.jpg, dan 2.jpg, vervolgens 3.jpg, etc.). Met zoeken (hotscripts, google) kom ik niet echt verder. Ik vind volop galleries, crop & resize en andere scripts, maar niets wat hier op lijkt. Iemand een idee welke zoektermen ik het best kan gebruiken? (Eigenlijk, bedenk ik me nu, zoek ik dus een soort slideshow die niet met een klik op de afbeeling maar met een pagina-refresh naar de volgende afbeelding moet gaan). En heeft anders iemand een idee of een paar hints welke richting ik op moet met het Automatic Image Rotation script om mijn wens te bewerkstelligen? Hoewel ik niet zo heel veel kennis van php heb, vraag ik hierbij niet om een pasklare oplossing, maar meer een zetje in de rug: hoe moet ik denken, welke stappen moet ik zetten? Alvast bedankt!
  • Ik snap wel wat je wilt bereiken, maar niet hoe. Wil je het zelf programmeren of wil je ergens een script vandaan halen? Maar goed, in het eerste geval kan ik je wel op weg helpen. Je kunt eens de source van het script bekijken dat je gebruikt, en kijken hoe het werkt. Het script leest de directory uit, en pakt alle plaatjes, en gooit die in een array. Hij telt hoeveel het er uiteindelijk zijn en daar trekt hij dan random een nummertje uit. Zoiets ongeveer... Je wilt het nu niet willekeurig, maar laten oplopen. Er is dus maar een klein verschil: je moet wederom de dir uitlezen, pak alle plaatjes en zet die in een array, en laat vervolgens de eerste in de array zien (index 0). Het enige extra 'probleem' wat je nu hebt, is dat je moet onthouden welk plaatje op dat moment getoond wordt. Het lijkt mij het eenvoudigst om dat in een sessie variabele op te slaan. Zodra het script opnieuw wordt aangeroepen (bij een page refresh dus) kijkt het script of de sessie-variabele reeds gezet is; indien ja, dan tel je daar eentje bij op, en dat is dan gelijk aan de index van de array die je wil laten zien. Het enige wat je dan nog hoeft te doen is te kijken of je teller niet over het aantal elementen van die index uit komt; is dat wel het geval, dan zet je die index weer op nul, et voila, de eerste foto zal weer verschijnen... Laat maar horen of je er zo uitkomt. Op de php.net site staat [url=http://nl2.php.net/manual/en/function.readdir.php]hier bij example 479[/url] hoe je heel eenvoudig een directory kunt uitlezen (en dat wordt vrijwel letterlijk ook in jouw Automatic Image Rotation script gebruikt).

Beantwoord deze vraag

Weet jij het antwoord op deze vraag? Registreer of meld je aan met je account

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.