[PHP, JPG en MySQL] Beste manier om foto op te slaan

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hallo allemaal! Ik wil sitebezoekers de mogelijkheid gaan bieden om één foto te uploaden. De foto zal regelmatig opgevraagd worden in thumbnailformaat. De foto zal vrij zelden in groot formaat getoond hoeven te worden, maar toch wil ik deze mogelijkheid wel hebben.

Wat is het handigst?

1. Het grote formaat opslaan op de server en de thumnails keer op keer laten genereren?
2. Het grote formaat opslaan in de database (binary code) en beide foto's keer op keer vanuit de database laden?
3. Zowel grote als kleine formaat opslaan op de server
4. Of is misschien een andere manier beter????

Van belang is ook: per gebruiker maximaal 1 foto. Er zijn echter wel veel gebruikers.

Acties:
  • 0 Henk 'm!

  • wim__k
  • Registratie: Februari 2003
  • Laatst online: 21-11-2020
Optie nummer 3 zou ik voor gaan. Het is een beetje zinloos om elke keer een thumbnail te maken als de thumbnail zelf waarschijnlijk nog minder dan een kB in grote is. Het opslaan in een database is ook niet nodig lijkt mij.

Acties:
  • 0 Henk 'm!

  • Infinitive
  • Registratie: Maart 2001
  • Laatst online: 25-09-2023
Voor je grote foto zou ik JPEG 2000 compressie aanraden.

putStr $ map (x -> chr $ round $ 21/2 * x^3 - 92 * x^2 + 503/2 * x - 105) [1..4]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Infinitive schreef op 20 May 2003 @ 22:25:
Voor je grote foto zou ik JPEG 2000 compressie aanraden.
En dat is?? Is dat compatible met oudere browsers? Welk programma gebruikt dit?

Acties:
  • 0 Henk 'm!

  • Eijkb
  • Registratie: Februari 2003
  • Laatst online: 18-09 17:05

Eijkb

Zo.

Kun je zonder GD image libr. ook een andere compressie opvragen? Persoonlijk ben ik nu bezig met een site voor een autoverkoper. Hierop draait een script welke om het even wat voor een foto resized naar een formaat van 350 breedte plus in de juiste verhouding de hoogte en een thumb van 130 breedte plus in de juiste verhouding de hoogte. Ik heb dus gekozen voor 2 images op de server opslaan. De naam van de foto's is <$id>.<$ext> voor de grote foto's en t_<$id>.<$ext> voor de thumbnails. Werkt perfect en snel. Helaas ondersteunt de server geen GD hoger dan versie 1 ofzo en ben ik dus voor het resizen afhankelijk van de "oudere" commando's waardoor de kwaliteit misschien niet de beste is (maar voor mijn doel nog best te doen....).

.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Maar wat is dat JPEG2000 nou? Nooit van gehoord namelijk...

Ik ga even kijken wat php.net hierover zegt i.v.m. de GD-library.

Acties:
  • 0 Henk 'm!

  • SWfreak
  • Registratie: Juni 2001
  • Niet online
JPEG 2000 is een nieuwe compressie standaard die de vervanger zal zijn van JPEG. Heeft een groot aantal voordelen, waaronder
a) veel betere compressie dan JPEG (plaatje wordt kleiner en ziet er beter uit)
b) het kan op allerlei mogelijke manieren teruggestuurd worden (per kleurcomponent, per resolutie, etc.)
Kortom, JPEG 2000 zou ideaal zijn. Het enige probleem is dat JPEG 2000 op dit moment nog door geen enkele browser ondersteund wordt. Ofwel, je hebt er weinig aan. Je kunt wel opslaan als JPEG 2000 en dan converteren naar JPEG, maar dat kost denk ik te veel processorkracht.
Dus dat valt helaas af. Dan lijkt me optie 3 het handigst.

Acties:
  • 0 Henk 'm!

  • ddofborg
  • Registratie: Augustus 2000
  • Laatst online: 06-05 19:28
PicServer natuurlijk ;)

Beste is (in mijn ogen dan), alles opslaan op de harddisk. Thumbnail maken alleen als die wordt gegevraagd en ook gelijk opslaan op de harddisk (zoals al is gezegd). Als je alleen op filenamen hoeft te checken (en niet op rechten van mensen die het plaatje mogen bekijken), dan kun je het beste naam van het plaatje zo kiezen, dat het gelijk uit de GET_VARS uit te lezen is waar het plaatje staat enzo. Dan heb je ook minder DB traffic, wat ook weer in tijd scheelt. Voor de rest moet je zoweinig mogelijk realtime doen, zeker met veel hits. Elke DB query kost veel.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
De meest opgevraagde pagina van de website (dat is niet de homepage, gek genoeg) bevat al een scriptje dat real-time gifjes genereerd van ongeveer 130 bytes. Dat is heel weinig dat weet ik wel, maar dan zal ik er inderdaad niet zo veel real-time meer naast moeten gaan doen, om een te zware belasting op de server te voorkomen.

Thanx guys!

Acties:
  • 0 Henk 'm!

Verwijderd

Ik zou de images niet in de database zetten.
Maar de thumbnails en originele images op schijf zetten.
En in de db verwijzingen zetten naar de (relatieve) locatie op schijf.
Het is zonde je db te belasten met die images.
Pagina: 1