Gå til innhold

Jobbe med store bilder i GD


Anbefalte innlegg

har ett bildegalleri med opplastingsfunksjon. som i etthvert bildegalleri skal det selvfølgelig lages thumbnails, og dessuten en forminsket versjon av hovedbildet i oppløsning 700x525 dersom originalen er veldig stor. Med GD 2.0 er dette i utgangspunktet en enkel sak etter at funksjonene imagecreatetruecolor() og imagecopyresampled() ble innført, men det er ett problem med store bilder:

 

PHP har ikke tillatelse til å bruke mer enn 16 MB minne på min server. når jeg prøve å laste inn ett bilde med imagecreatefromjpeg() og bildet er veldig stort (fx 7 megapiksler), kræsjer scriptet fordi bildet tar mer enn 16 MB når det er lastet inn. Finnes det noen vei å omgå dette? Såvidt jeg vet er ikke Image Magick installert på serveren, og for å toppe det hele har host'en bestemt seg for å kjøre php i safe mode og nekter å slå det av, slik at det er ikke ett alternativ å prøve å legge inn Image Magick eller NetPBM selv... hjelp søkes!

Lenke til kommentar
Videoannonse
Annonse

har ikke hatt noen suksess med ini_set i andre sammenhenger tidligere, men kan jo gjøre ett forsøk...

 

edit: fikk ingen feilmelding, men kjørte følgende test:

 

PHP

<?php

 

ini_set('memory_limit''30M');

echo ini_get('memory_limit');

 

?>

 

hvorpå nettleseren viser:

16M

 

:( og ja, jeg har irritert meg grønn over at de ikke vil skru av safe mode, men har ikke klart å finne noen annen host som er så billige, og som tilbyr å skru av safe mode...

Endret av ventle
Lenke til kommentar

Det kan være til god hjelp for oss å vite hvilken host du har.

 

Vanligvis vil hosten ikke godta at minnebegresningene blir endret, men hvis de tillater endring av php.ini fil skal du kunne skru av safe_mode hvis du ønsker det.

 

Ofte er det da et annet system enn ini_set, og informasjon om dette finner du i så fall på leverandørens hjemmeside.

 

Ellers er det jo en mulighet å manuelt lage miniatyrbilder, og laste dem opp, hvis det ikke er mange bilder.

 

Einar :)

Lenke til kommentar

Hosten er one.com og hadde det ikke vært for at jeg ikke har funnet ett bedre tilbud andre plasser, hadde jeg byttet for lenge siden, dette er ikke første gang jeg har problemer med dem...

 

ang miniatyrbilder, bildegalleriet er laget slik at alle brukerne kan laste opp bilder, og da er det en ganske mye mer elegant løsning at scriptet lager miniatyrene :)

Lenke til kommentar

Ser ut som de ikke tillater endring av safe_mode.. :hmm:

 

Jeg har egentlig ikke mer å bidra med her, men når du skal kjøpe webhotell er det ikke bare prisen du skal gå etter. Når man betaler for et webhotell er noe av prisen for support og funksjoner som ikke vanligvis omtales. F.eks. endring av php.ini instillinger.

 

Det er kanskje bedre å betale litt mer å få det du trenger, selv om du kanskje får litt mindre lagringsplass.

 

Einar :)

Lenke til kommentar

Du får jo det du betaler for. Om du skal ha det billigste av det billige så må du bare leve med begrensningene som blir satt for deg. Selv bruker jeg domeneshop og er strålende fornøyd med at jeg kan skrive min egen php.ini, legge inn cron jobs, ssh og ha filer å serveren utenfor web-området. Synes heller ikke det er dyrt med 400,- i året for noe sånt.

Lenke til kommentar
Helt klart, men ettersom one.com gir meg 2 GB lagringsplass for 240 kroner+domene per år, så er ikke domeneshop særlig konkurransedyktige prismessig... men hovedproblemet her i tråden står fortsatt ubesvart :(

8542004[/snapback]

 

Tusenkronersspørsmålet: Trenger du faktisk 2GB eller betaler du lite for å få noe som ikke bare er overflødig, men som ikke fungerer for dine behov i det hele tatt.

I så fall bør du virkelig vurdere om det ikke er bedre å betale litt mer for noe som faktisk er brukbart.

Lenke til kommentar

Bruker per dags dato ca 350 MB og det vil uansett ikke være aktuelt å bytte til en host som ikke kan konkurrere på pris, uansett hvor gode betingelser de måtte ha ellers. Utover det begynner vi å bevege oss langt utenom topic her, som er: Hvordan kan man jobbe med store bildefiler når minnegrensen i PHP er 16 MB, på en server som kjører php i safe mode.

Lenke til kommentar

Skal du være så blind på prisen tror jeg rett og slett at du må belage deg på at enkelte ting ikke lar seg gjøre.

Hvordan kan man jobbe med store bildefiler når minnegrensen i PHP er 16 MB, på en server som kjører php i safe mode.

Vis din memory_limit=16M og denne ikke lar seg endre er svaret enkelt:

Oppgaven lar seg ikke utføre med PHP på den serveren, punktum.

 

En annen teoretisk mulighet kan være å utføre krympingen på client-siden, men tviler...

Må nok fort ty til noe Java eller lignende da.

Lenke til kommentar

for tiden gjøres det faktisk på klientsiden med java. Har en javaopplaster noe lignende den man finner på eurofoto/vg foto/facebook som har mulighet til å lage en thumbnail og sende denne sammen med originalbildet. Jeg får da opplasteren til å lage en 'thumbnail' i 700x700-oppløsning, og får så PHP til å lage en thumnail i 200x200-oppløsning av denne igjen. Problemet her er at dette tar litt tid med mange store filer på litt tregere pc'er, og brukere har sagt til meg at det ikke virker/går i stå når de prøver med mange filer samtidig.

Endret av ventle
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...