Hej, jeg har lavet et script der skal uploade billeder, men får når billedet er for stort denne error:
Fatal error: Allowed memory size of 25165824 bytes exhausted (tried to allocate 10368 bytes) ...
Hvilket virker ret underligt. den skriver at "Allowed memory" er 25165824 og billedet er 10368 hvilket for mit vedkommende ikke rigtig giver mening. hvad gør jeg forkert?
Jeg har webhotel hos one.com og jeg har læst om at man skal ændre noget i php.ini men den har jeg ikke liggende på min server. Hjælp
//// CROP TIL MAX 800 PX $save = "images/kreationer/".$gruppe_nr."_800px_".$imagepath; //This is the new file you saving $file = "images/kreationer/".$imagepath; //This is the original file
//// CROP TIL MAX 400 PX $save = "images/kreationer/".$gruppe_nr."_400px_".$imagepath; //This is the new file you saving $file = "images/kreationer/".$imagepath; //This is the original file
//// Resize TIL MAX 140 PX $save = "images/kreationer/".$gruppe_nr."_140px_".$imagepath; //This is the new file you saving $file = "images/kreationer/".$imagepath; //This is the original file
Det er de sidste 10368 byte, der gør, at du overskriver grænsen for hvor memory du kan allokere (24 Mb). Læs mere her: http://dk2.php.net/manual/en/ini.core.php#ini.memory-limit. Du kan ikke regne med billedets størrelse, for det fylder meget mere i ukomprimeret form. 24 Mb lyder af meget, men prøv at gange pixels på hver led med antal farver, og regn det om til Mb - det bliver let et meget stort tal.
Hos one.com kan du desværre ikke ændre grænsen, der i forvejen er sat lavt hos dem (i forhold til andre) - 16 Mb da jeg undersøgte det - ser ud til at det er 24 Mb hos dig - og for lavt til at man kan håndtere billeder af en vis (rimelig) størrelse.
Skift til servage (vist ingen limit), gigahost (128 Mb), surftown (32 Mb), eller nogen andre, der tilbyder en - på det område - tidssvarende løsning.
Det kan ikke løses hos one.com, tror jeg. Du kan da prøve at spørge dem, men mon ikke du får samme svar, som jeg fik.
Jeg forsøgte forresten at ligge det over på en lokalserver og satte tallet til 1280MB eller lign, og jeg fik stadig samme fejl.. Måske gjorde jeg det bare forkert..
Nogen der ahr forstand på koden, for måske kan det også være den, hvem ved..
Ja, det er præcis hvad jeg siger. Det kræver selvfølgelig, at du ikke prøver at allokere mere memory end deres grænse.
Jeg har ikke prøvet gigahost, men kører nu også på servage. Servage har tidligere haft en del problemer, men der har ikke været mange den sidste tid. De er mere fleksible mht opsætning end de fleste hosts. Jeg har været ret tilfreds. Især hvis man med tiden får flere domæner og/eller subdomæner. Jeg kender ikke andre i den prisklasse der tilbyder samme fleksibilitet og funktionalitet.
Der er mindst et par fejl i din kode som den er nu.
Du skal udskifte alle: imagedestroy($save); med: imagedestroy($image);
da $save ikke indeholder en billed resurse, men bare en sti. $image indeholder derimod en billed resurse og skal derfor nedlægges når du ikke bruger den mere.
Men hvor store er dine billeder i pixel som du prøver at behandle ?
Jeg vil anbefale dig så at lave et tjek på hvor store de billeder som brugerne uploader, og så afgøre ud fra det om du kan resize dem eller brugeren skal uploade et mindre billede.
Synes godt om
Ny brugerNybegynder
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.