imagecreatefromjpeg() werkt niet PHP Version 5.2.16
Mijn onderstaande script werkt niet op nieuwe server. Volgend log moet het liggen aan: imagecreatefromjpeg()
Iemand een idee wat er mis gaat. Bestanden tot 1 mb doen het overigens wel.
groeten,
Michiel
Iemand een idee wat er mis gaat. Bestanden tot 1 mb doen het overigens wel.
groeten,
Michiel
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
<?
//Resize picture
function resize_picture ($remote_file, $image_source ) {
// some settings
$max_upload_width = 600;
$max_upload_height = 600;
imagejpeg($image_source,$remote_file,100);
chmod($remote_file,0644);
/******* GROOT FORMAAT AANPASSEN *******/
// get width and height of original image
list($image_width, $image_height) = getimagesize($remote_file);
if($image_width>$max_upload_width || $image_height >$max_upload_height){
$proportions = $image_width/$image_height;
if($image_width>$image_height){
$new_width = $max_upload_width;
$new_height = round($max_upload_width/$proportions);
}
else{
$new_height = $max_upload_height;
$new_width = round($max_upload_height*$proportions);
}
$new_image = imagecreatetruecolor($new_width , $new_height);
$image_source = imagecreatefromjpeg($remote_file);
imagecopyresampled($new_image, $image_source, 0, 0, 0, 0, $new_width, $new_height, $image_width, $image_height);
// Save the image as 'simpletext.jpg'
imagejpeg($new_image,$remote_file,100);
// Free up memory
imagedestroy($new_image);
}
/** END GROOT FORMAAT **/
imagedestroy($image_source);
}
?>
//Resize picture
function resize_picture ($remote_file, $image_source ) {
// some settings
$max_upload_width = 600;
$max_upload_height = 600;
imagejpeg($image_source,$remote_file,100);
chmod($remote_file,0644);
/******* GROOT FORMAAT AANPASSEN *******/
// get width and height of original image
list($image_width, $image_height) = getimagesize($remote_file);
if($image_width>$max_upload_width || $image_height >$max_upload_height){
$proportions = $image_width/$image_height;
if($image_width>$image_height){
$new_width = $max_upload_width;
$new_height = round($max_upload_width/$proportions);
}
else{
$new_height = $max_upload_height;
$new_width = round($max_upload_height*$proportions);
}
$new_image = imagecreatetruecolor($new_width , $new_height);
$image_source = imagecreatefromjpeg($remote_file);
imagecopyresampled($new_image, $image_source, 0, 0, 0, 0, $new_width, $new_height, $image_width, $image_height);
// Save the image as 'simpletext.jpg'
imagejpeg($new_image,$remote_file,100);
// Free up memory
imagedestroy($new_image);
}
/** END GROOT FORMAAT **/
imagedestroy($image_source);
}
?>
Heb je wel PHP gecompileerd met GD-1.8 of hoger?? Post eens een gedeelte van je error log...
Gewijzigd op 19/09/2012 13:17:25 door Marvin H
Hoi Marvin,
Bedankt voor je reactie!
Zie onderstaand:
http://tonijn.nl.webhosting10.server.nl/verse-vis/display-product
[Wed Sep 19 09:26:28 2012] [error] [client 217.122.227.177] File does not exist: /sites/tonijn.nl/www/errors, referer: http://tonijn.nl.webhosting10.server.nl/verse-vis/display-product
[Wed Sep 19 09:26:28 2012] [error] [client 217.122.227.177] File does not exist: /sites/tonijn.nl/www/verse-vis, referer: http://tonijn.nl.webhosting10.server.nl/verse-vis/display-product
[Wed Sep 19 09:26:28 2012] [error] [client 217.122.227.177] File does not exist: /sites/tonijn.nl/www/errors, referer: http://tonijn.nl.webhosting10.server.nl/verse-vis/display-product
[Wed Sep 19 09:26:50 2012] [error] [client 217.122.227.177] PHP Fatal error: Allowed memory size of 50331648 bytes exhausted (tried to allocate 11264 bytes) in /sites/tonijn.nl/www/useradmin/dbc.php on line 618, referer: http://tonijn.nl.webhosting10.server.nl/verse-vis/display-product
Bedankt voor je reactie!
Zie onderstaand:
http://tonijn.nl.webhosting10.server.nl/verse-vis/display-product
[Wed Sep 19 09:26:28 2012] [error] [client 217.122.227.177] File does not exist: /sites/tonijn.nl/www/errors, referer: http://tonijn.nl.webhosting10.server.nl/verse-vis/display-product
[Wed Sep 19 09:26:28 2012] [error] [client 217.122.227.177] File does not exist: /sites/tonijn.nl/www/verse-vis, referer: http://tonijn.nl.webhosting10.server.nl/verse-vis/display-product
[Wed Sep 19 09:26:28 2012] [error] [client 217.122.227.177] File does not exist: /sites/tonijn.nl/www/errors, referer: http://tonijn.nl.webhosting10.server.nl/verse-vis/display-product
[Wed Sep 19 09:26:50 2012] [error] [client 217.122.227.177] PHP Fatal error: Allowed memory size of 50331648 bytes exhausted (tried to allocate 11264 bytes) in /sites/tonijn.nl/www/useradmin/dbc.php on line 618, referer: http://tonijn.nl.webhosting10.server.nl/verse-vis/display-product
File does not exist
Allowed memory size of 50331648 bytes exhausted
Lijkt mij overduidelijk.
Allowed memory size of 50331648 bytes exhausted
Lijkt mij overduidelijk.
Uit de logs die je post zie ik alleen dat er een verwijzing naar een bestand plaatsvind die niet bestaat... en verder wat issues met "Allowed memory size"...
Hoe roep jij de function aan, geef eens een voorbeeld
Hoe roep jij de function aan, geef eens een voorbeeld
Ik roep de functie alsvolgd aan:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?php
// if uploaded image was JPG/JPEG
if($_FILES["image_upload_box1"]["type"] == "image/jpeg" || $_FILES["image_upload_box1"]["type"] == "image/pjpeg"){
$image_source = imagecreatefromjpeg($_FILES["image_upload_box1"]["tmp_name"]);
}
// if uploaded image was GIF
if($_FILES["image_upload_box1"]["type"] == "image/gif"){
$image_source = imagecreatefromgif($_FILES["image_upload_box1"]["tmp_name"]);
}
// BMP doesn't seem to be supported so remove it form above image type test (reject bmps)
// if uploaded image was BMP
if($_FILES["image_upload_box1"]["type"] == "image/bmp"){
$image_source = imagecreatefromwbmp($_FILES["image_upload_box1"]["tmp_name"]);
}
// if uploaded image was PNG
if($_FILES["image_upload_box1"]["type"] == "image/x-png"){
$image_source = imagecreatefrompng($_FILES["image_upload_box1"]["tmp_name"]);
}
//uniekie code genereren
$code = rand(0,1000);
$_SESSION['code'] = $code;
$remote_fileRUF = "image_files/$partij-$code-".$_FILES["image_upload_box1"]["name"];
$remote_file = str_replace(" ","-",$remote_fileRUF); //wiruimte verwijderen
//Door functie halen
resize_picture ($remote_file, $image_source);
?>
// if uploaded image was JPG/JPEG
if($_FILES["image_upload_box1"]["type"] == "image/jpeg" || $_FILES["image_upload_box1"]["type"] == "image/pjpeg"){
$image_source = imagecreatefromjpeg($_FILES["image_upload_box1"]["tmp_name"]);
}
// if uploaded image was GIF
if($_FILES["image_upload_box1"]["type"] == "image/gif"){
$image_source = imagecreatefromgif($_FILES["image_upload_box1"]["tmp_name"]);
}
// BMP doesn't seem to be supported so remove it form above image type test (reject bmps)
// if uploaded image was BMP
if($_FILES["image_upload_box1"]["type"] == "image/bmp"){
$image_source = imagecreatefromwbmp($_FILES["image_upload_box1"]["tmp_name"]);
}
// if uploaded image was PNG
if($_FILES["image_upload_box1"]["type"] == "image/x-png"){
$image_source = imagecreatefrompng($_FILES["image_upload_box1"]["tmp_name"]);
}
//uniekie code genereren
$code = rand(0,1000);
$_SESSION['code'] = $code;
$remote_fileRUF = "image_files/$partij-$code-".$_FILES["image_upload_box1"]["name"];
$remote_file = str_replace(" ","-",$remote_fileRUF); //wiruimte verwijderen
//Door functie halen
resize_picture ($remote_file, $image_source);
?>
Uhm, als je een GIF upload, hoe maak je die dan aan in PHP? Toen ik een image_uploader maakte kon ik geen GIF's maken omdat ik alleen createimagefromjpeg gebruikte
Iets over het hoofd gezien, je zegt in je eerste post "
Iemand een idee wat er mis gaat. Bestanden tot 1 mb doen het overigens wel."
Dus images van onder de 1mb doen het altijd?
Iemand een idee wat er mis gaat. Bestanden tot 1 mb doen het overigens wel."
Dus images van onder de 1mb doen het altijd?
Marvin Jep,
Onder een mb doen het gewoon.
Vreemd he?
Onder een mb doen het gewoon.
Vreemd he?
neej is niet vreemd, dit heeft dan niks met het script te maken maar met je PHP settings
Toevoeging op 19/09/2012 14:17:42:
Zoals -SanThe- en ik al eerder opmerkte in je log is de Allowed memory exhausted melding in je log... Plaats hetvolgende eens boven aan in je script
Dit zorgt ervoor dat je php script in plaats van 5mb nu 12 mb geheugen heeft om de opdracht uit te voeren...
Toevoeging op 19/09/2012 14:17:42:
Zoals -SanThe- en ik al eerder opmerkte in je log is de Allowed memory exhausted melding in je log... Plaats hetvolgende eens boven aan in je script
Dit zorgt ervoor dat je php script in plaats van 5mb nu 12 mb geheugen heeft om de opdracht uit te voeren...
Gewijzigd op 19/09/2012 14:18:31 door Marvin H
hoi marvin,
Dan werkt het nog niet.
Denk dat ik maar moet overstappen op VPS want het hosting bedrijf meld het volgende:
Wat denk jij?
Waarom krijg ik de fout 'Allowed memory size exhausted' op mijn website?
Deze fout krijgt u als de server te veel geheugen nodig heeft om uw webpagina te genereren. Omdat uw website op een gedeelde server draait, kunnen wij per bezoeker/webpagina slechts een beperkte hoeveelheid geheugen toewijzen. Als uw pagina te veel geheugen nodig heeft dan zal deze worden afgebroken.
Deze error komt vaak voor bij scripts die realtime 'thumbnails' genereren. Dit kan bijna altijd worden opgelost door een zuiniger script te gebruiken, of door een lagere resolutie foto te uploaden.
Ook programma's zoals Wordpress geven vaak deze fout. Dan gaat het meestal om websites waar teveel plug-ins of modules geladen zijn. Bekende veelgebruikers zijn 'Google XML Sitemap' en 'Ultimate Tag Warrior'. In deze gevallen kunt u het beste deze plugins compleet verwijderen, samen met alle andere niet gebruikte overbodige plug-ins.
Deze error heeft niets te maken met de quota op uw website.
Toevoeging op 19/09/2012 15:09:19:
De pagina waar het script op draait is 231kb is toch niet extreem veel?
Waar vindt ik dan een zuinig upload script. Zo slecht ziet mijn script er toch niet uit?
Dan werkt het nog niet.
Denk dat ik maar moet overstappen op VPS want het hosting bedrijf meld het volgende:
Wat denk jij?
Waarom krijg ik de fout 'Allowed memory size exhausted' op mijn website?
Deze fout krijgt u als de server te veel geheugen nodig heeft om uw webpagina te genereren. Omdat uw website op een gedeelde server draait, kunnen wij per bezoeker/webpagina slechts een beperkte hoeveelheid geheugen toewijzen. Als uw pagina te veel geheugen nodig heeft dan zal deze worden afgebroken.
Deze error komt vaak voor bij scripts die realtime 'thumbnails' genereren. Dit kan bijna altijd worden opgelost door een zuiniger script te gebruiken, of door een lagere resolutie foto te uploaden.
Ook programma's zoals Wordpress geven vaak deze fout. Dan gaat het meestal om websites waar teveel plug-ins of modules geladen zijn. Bekende veelgebruikers zijn 'Google XML Sitemap' en 'Ultimate Tag Warrior'. In deze gevallen kunt u het beste deze plugins compleet verwijderen, samen met alle andere niet gebruikte overbodige plug-ins.
Deze error heeft niets te maken met de quota op uw website.
Toevoeging op 19/09/2012 15:09:19:
De pagina waar het script op draait is 231kb is toch niet extreem veel?
Waar vindt ik dan een zuinig upload script. Zo slecht ziet mijn script er toch niet uit?
Dan vind ik de toewijzing van 5mb memory wel heel laag per sessie... Dan zit er niks anders op dan gebruik te maken van een andere hosting... check transip.nl eens voor VPS... die hebben leuke servers voor weinig geld (10,- per maand). Echter moet je wel zelf de server installeren... (kan ik je bij helpen indien nodig tegen vergoeding)
Toevoeging op 19/09/2012 15:13:11:
Het gaat niet om het script zelf, maar hetgeen wat het script uitvoert. Het resize van een image en aanmaken hiervan neemt wel resources in beslag... dan kom je al snel op je 5mb memory usage die php in beslag neemt
Toevoeging op 19/09/2012 15:13:11:
Michiel v op 19/09/2012 15:07:01:
De pagina waar het script op draait is 231kb is toch niet extreem veel?
Waar vindt ik dan een zuinig upload script. Zo slecht ziet mijn script er toch niet uit?
De pagina waar het script op draait is 231kb is toch niet extreem veel?
Waar vindt ik dan een zuinig upload script. Zo slecht ziet mijn script er toch niet uit?
Het gaat niet om het script zelf, maar hetgeen wat het script uitvoert. Het resize van een image en aanmaken hiervan neemt wel resources in beslag... dan kom je al snel op je 5mb memory usage die php in beslag neemt
Ok Marvin,
Bedankt voor je reacties. Ik ga een kijken bij Transip.
Ken het bedrijf wel.
ALs ik hulp nodig heb laat ik het je weten.
Groeten,
Michiel
Bedankt voor je reacties. Ik ga een kijken bij Transip.
Ken het bedrijf wel.
ALs ik hulp nodig heb laat ik het je weten.
Groeten,
Michiel
Is goed :) Heb zelf ook een VPS bij TransIP i.c.m. DirectAdmin en met 2 cores/ 1Gb ram / 100GB HD / 2000GB dataverkeer




