Avatar billede mbw Nybegynder
17. juni 2007 - 19:56 Der er 8 kommentarer og
1 løsning

Image resource to string

Jeg har et script som resizer et billede...

  $imageInfo = getimagesize($imgfile);
  $src_width = $imageInfo[0];
  $src_height = $imageInfo[1];

  $divide = $imageInfo[0] / 340;
  $dest_width = $src_width / $divide;
  $dest_height = $src_height / $divide;

  $src_img = imagecreatefromjpeg($imgfile);
  $dst_img = imagecreatetruecolor($dest_width,$dest_height);
  imagecopyresampled($dst_img, $src_img, 0, 0, 0, 0, $dest_width, $dest_height, $src_width, $src_height);

  imagejpeg($dst_img);

  imagedestroy($src_img);

Men imagejpeg($dst_img) printer billedet.
Jeg vil blot ha resultatet i en streng som jeg kan smide i en database... Er det muligt?
Avatar billede coderdk Praktikant
17. juni 2007 - 20:00 #1
Du kan gøre to ting - Skrive til en temporær fil og læse den ind med file_get_contents. Alternativt kan du betnytte ob_start() og ob_get_contents() afsluttende med ob_end_clean()
Avatar billede dkfire Nybegynder
17. juni 2007 - 21:55 #2
Du har vel ikke tænkt dig at ligge  billeder ind i databasen ??
Avatar billede mbw Nybegynder
18. juni 2007 - 01:42 #3
Jo jeg har tænkt mig at lægge billeder i databasen
Avatar billede dkfire Nybegynder
18. juni 2007 - 12:24 #4
Tror det vil være nemmere for dig, hvis du lagde billederne i en mappe og lagde en sti til dem i databasen.
Det er langt bedre for serveren.
Avatar billede mbw Nybegynder
18. juni 2007 - 12:40 #5
Passer mog væsentlig bedre at ha billederne liggende i databasen... Men af ren nysgerrighed, hvorfor ville det være bedre for serveren at ha billederne liggende som filer?
Avatar billede coderdk Praktikant
18. juni 2007 - 13:17 #6
Der er ikke noget i vejen med at smide filer i databasen, det er det som blobs er til for ;)
Nogle har begrænset diskplads, og hvis der er indhold alle skal kunne tilgå, så kan der være en idé i at lade webserveren håndtere det...
Avatar billede mbw Nybegynder
18. juni 2007 - 16:21 #7
hmm... fik det til at fungere... lukker...
Avatar billede dkfire Nybegynder
19. juni 2007 - 13:10 #8
Det skyldes to ting. En databasen er designet til at indeholde og søge igennem indhold. En webserver/filsystem er designet til at læse og håndtere filer.
Når du lægger en fil ind i en database, så vil det ofte resultere i at indholde i feltet med filen består af en masse underlige tegn som ingen mening giver, altså noget du højst sandsynligt ikke vil søge igennem. Det betyder også at hver gang du skal bruge dit billede skal du omdanne indholdet fra databasen til en fil, hvilket jo tager tid og kræfter.
Derimod vil et fil system kunne behandle din fil meget hurtigere og nememre.
Avatar billede coderdk Praktikant
19. juni 2007 - 13:25 #9
dkfire, som sagt er BLOBs designet til formålet ;) Når du skal bruge billedet skal du ikke nødvendigvis omdanne indholdet til en fil - Du kan jo bare spytte det ud til browseren. Hvad nu hvis indholdet f.eks. er et dokument som kun bestemte brugere, der er medlem af en bestemt gruppe i din database, må se? Hvis du skal sikre det ordentligt, skal filen alligevel spyttes ud igennem et script, da man jo ikke vil have filerne ligger et sted hvor du kan tilgå dem direkte gennem en browser.

Statiskt indhold, uden restriktioner, ser jeg langt mere mening i at filsystemet og en hurtig webserver som Lighttpd eller lign. håndterer.

burin, Hvordan kringlede du den, hvis du ikke brugte en temporær fil eller ob_start()?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester