[PHP] getimagesize van een php-image

Pagina: 1
Acties:

  • DRvDijk
  • Registratie: Juni 2001
  • Laatst online: 17:10
Ik store plaatjes binair in een database (omdat ik geen rechten krijg bestanden op te slaan). Nu wil ik de mogelijkheid geven aan gebruikers een plaatje te resizen (die dus in de db zit).

Ik wil nu de hoogte en breedte van het plaatje alvast weten, en ik dacht met getimagesize(). Maar helaas, het geeft een error :'(

$imagesize = getimagesize ("img.php?uid=20");

img.php?uid=20 geeft in de browser een plaatje terug, geen probleem. Headers goed verstuurd, plaatje binair erachteraan. Alleen getimagesize werkt dan dus niet. Iemand een idee waarom?

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 01:39
Lijkt me dat php "img.php?uid=20" niet als URL ziet en dus als locaal bestand probeert te openenen. Als je een absolute URL gebruikt (inclusief http:// dus) werkt het waarschijnlijk wel, als GetImageSize tenminste ook URL's (en niet alleen bestandsnamen) accepteert.

  • DRvDijk
  • Registratie: Juni 2001
  • Laatst online: 17:10
Ah... Eens even proberen.. Nope, helaas, dat werkt ook niet :?

Het originele plaatje (lees een willekeurig gifje) werkt ook niet?? Aaargh ik snap dur nix mir van.. misschien morgen weer..

  • chem
  • Registratie: Oktober 2000
  • Laatst online: 27-08 13:53

chem

Reist de wereld rond

als je het per se zo wil doen (en het is een lelijke oplossing) dan zul je de afbeelding via fopen() moeten uitlezen en dan het formaat bepalen...
maar je kan beter die img.php include'n (zie manual) en enkel een functie aanroepen die ook in img.php z'n werk doet.
snappie?

Klaar voor een nieuwe uitdaging.


Verwijderd

heb je (de webserver) ook geen schrijvenrechten in /tmp :?

edit:
:P

  • Grum
  • Registratie: Juni 2001
  • Niet online
DarthRaider: heb je (de webserver) ook geen schrijven in /tmp :?

Of je schrijfrechten in de /tmp dir op de webserver hebt moet hier denkik de vertaling van zijn :+

  • DRvDijk
  • Registratie: Juni 2001
  • Laatst online: 17:10
Op woensdag 15 mei 2002 08:28 schreef chem het volgende:
maar je kan beter die img.php include'n (zie manual) en enkel een functie aanroepen die ook in img.php z'n werk doet.
Mwa half.. Want wat img.php doet is uit de db het plaatje halen (binair), kijken of het niet null is (dus dat ID dus bestaat) en printen maar na een JPG-header gestuurd te hebben. Als ie niet bestaat echter, doet ie een GIF-header sturen en een 1x1 transparent GIFje doorsturen.

Dit kan ik natuurlijk heel erg simpel nog een beertje doen, gewoon img uit de db opvragen en in een variabele proppen, maar da's geen image identifier. Ik kan doodleuk een imagecreate doen, maar ik weet niet hoe groot het plaatje dan moet worden.. En juist dát wil ik weten :P
Op woensdag 15 mei 2002 08:43 schreef DarthRaider het volgende:
heb je (de webserver) ook geen schrijven in /tmp :?
Jawel, maar als mensen plaatjes opsturen en ik ga die opslaan in de /tmp .. Dan komt er een leukerd die de temp leegpleurt om de dag ofzo.. Daar gaan alle plaatjes.. Da's géén oplossing :'(

  • Grum
  • Registratie: Juni 2001
  • Niet online
Eventjes spellen:

1/ haal plaatje uit db
2/ schrijf plaatje weg in /tmp
3/ bepaal size
4/ delete plaatje uit /tmp
5/ geniet van de size van et plaatje die je nu in een variabele hebt

OF

1/ bepaal adh van de data et type
2/ haal adh van et type ZELF de size uit de data
3/ genieten van dat je et heel ruig zelf hebt gedaan (is vast ook sneller :D)

  • DRvDijk
  • Registratie: Juni 2001
  • Laatst online: 17:10
Ghe, 3e mogelijkheid >:) Image size in de database opslaan >:)

  • flat
  • Registratie: Mei 2000
  • Niet online
hmmm da's op zich de makkelijkste en simpelste oplossing ja (toch?)
gaat * flat ook maar gebruiken voor m'n usericon
(stom dat ik daar zelf nog niet aan heb gedacht...)

"Happiness is a way of travel, not a destination."
--Roy Goodman


  • DRvDijk
  • Registratie: Juni 2001
  • Laatst online: 17:10
Maar ook een erg vieze

  • Grum
  • Registratie: Juni 2001
  • Niet online
elviver, je maakt af en toe wel enorm domme opmerkingen :+

Wat is der in godsnaam vies aan ?

  • DRvDijk
  • Registratie: Juni 2001
  • Laatst online: 17:10
Nou, ten eerste is het al vies om ruwe plaatjes in de database op te slaan.. Alleen kan dat even niet anders. Goed, dan zit dat in de databeest, en dan ga je daarbij de groottes van de plaatjes er nog bij opslaan!

Ik zou dat een beetje vergelijken met 2 kolommen in een table.. eentje die de date aangeeft en de ander de datetime. Redelijk dubbelop

  • Grum
  • Registratie: Juni 2001
  • Niet online
Neem maar fijn van mij aan dat et niet ranzig maar juist slim is.

  • DRvDijk
  • Registratie: Juni 2001
  • Laatst online: 17:10
Ghe ja, dát wou ik als nieuwe ondertitel: Assumptions are the number 1 reason of fuckups :+ Ik ga het wel gebruiken hoor, het werkt inderdaag gewoon goed. En ook een stuk sneller inderdaad dan het telkens te moeten bepalen dmv image schrijven, openen, bepalen, sluiten en wissen.. Maar wat ik gewoon NIET snap is dat getimagesize("url") niet werkt als je een *ahum* PHP-plaatje wil openen.

  • Grum
  • Registratie: Juni 2001
  • Niet online
Omdat het openen van urls nou eenmaal een imho smerige additie is naast het openen van files.

Als je het perse in php wilt zien zou ik maar even gaan klagen bij de makers of zelf een patch submitten.
Pagina: 1