Archief - PHP: Thumbnail creation

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Bigbuddha

Legacy Member
Ik zoek een server script dat als ik een image upload via ftp automatisch een thumb maakt in een andere map. Ik weet niet of dit mogelijk is. Meestal wordt de upload gedaan via een script, maar hier werk ik enkel met een ftp upload. Ik weet dus ook niet meteen of het in php moet.

Iemand?

RpR

Legacy Member
gewoon op de pagina waar de tumbs staan kijken of ze bestaan en anders ze maken.

Tyfius

Legacy Member
Welke google ads ?

Sommige FTP servers laten toe om scriptjes te runnen. Zo'n scriptje kan dan een thumbnail maken en die in de gewenste map plaatsen. Dan moet je evenwel controle hebben over de FTP server.

Tyfius

Legacy Member
Erm, in glftpd kunde zoiets doen via C++, maar normaal moet dat zeker met andere FTP servers ook gaan.

Gerritn

Legacy Member
Anders een chrontab runnen die checkt voor welke images er al thumbs zijn, en indien nodig ze aanmaakt? Werkt dan niet altijd direct, en waarschijnlijk niet de ideale situatie om chronjobs te gebruiken, maar het is een mogelijkheid.

Een FTP script zou inderdaad beter zijn, maar das ver buiten mijn terrein :)

Smoerf

Legacy Member
Wel, je plaatst de images online in je map via je ftp.

Op je site op de mainpage stop je gewoon een script erin dat het volgende doet:
-> checken of er nieuwe images zijn
-> zoja: wegschrijven in een database (om de images bij te houden)
aanmaken van thumbnails in de daarvoor bestemde map
-> zonee: check of er images verwijderd zijn, zoja, images ook verwijderen uit de database

Klaar is kees

Als je wilt kan ik wel iets in elkaar flansen voor je. Zelfs imageresizen kan met php :)

Bigbuddha

Legacy Member
Mooi, ik weet genoeg, ik ga aan de slag als't niet lukt, laat ik het hier weten.

orez

Legacy Member
het gezever over google ads hoort hier absoluut niet thuis, en ik wil er ook geen discussie thread of iets dergelijks over zien.

ff rules updaten tijdelijk.

Smoerf

Legacy Member
ow, net nog een inval gehad.

Omdat je geen 300 queries zou moeten uitvoeren om te checken of ieder prentje dat in je map staat ook in je database staat kan je het volgende doen:

-> tellen van het aantal imagerecords in je database
-> kijken of het gelijk is aan het aantal images in je map (dus zonder Thumbs.db, . en .., eigenlijk enkel geldige image files)
-> is het aantal gelijkk, dan doe je niets
-> is het aantal niet gelijk, dan maak je een array van je files (die hij automatisch op datum sorteert)
-> vervolgens doorloop je je array en check je van iedere filetje of het al voorkomt in je db. Heb je 1 file die voorkomt dan ben je safe want dan is al de rest al weggeschreven.

killgore

Legacy Member
Je haalt alle records uit je db op (id & filename is voldoende) en steekt deze in een array, met als key filename en als value je id
Je loopt via de directory functies je bestanden af, voor een IMG bestand doe je dit:
Zit het in db (via isset op $array[$filename])?
Zo ja, haal via de nodige functies dat specifiek record uit je mysql-gegevens arrays via unset.
Zo nee, maak via de nodige functies een thumbnail aan en voeg alle nodige details toe aan db.

Na de loop blijft er in je mysql-gegevens array enkel nog de data over van afbeeldingen die verwijderd zijn en die records (waarvan je normaal het id hebt) kan je nu gaan verwijderen ;).

Hopelijk hielp het een beetje, dit is imho nl. de makkelijkste oplossing, enige bottleneck is de hoeveelheid db interactie, maar ik denk dat deze hier minimaal is.

Bovenstaand vb werkt ook niet, stel jij removet 3 files en voegt 3 toe, dan gaat het aantal imgs in map gelijk blijven en dus geen inconsistenties vertonen met de mysql COUNT gegevens.
edit: het is het beste bij deze code om je afbeeldingen in 1 map (of enkele specifieke mappen, dat is niet veel extra werk) op te slaan en je thumbnails ergens anders, thumbnails zijn ook afbeeldingen en dan zou je thumbs zitten toevoegen en thumbs van thumbs creëren, wat je niet wilt he :p.
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan