Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien
Toon posts:

Grote afbeeldingen leveren problemen

Pagina: 1
Acties:

Onderwerpen


Verwijderd

Topicstarter
Ik heb een klein script gemaakt om afbeeldingen te verkleinen. Dit werkt uitstekend met kleine afbeeldingen, maar op het moment dat ik een grotere afbeelding upload, loop ik tegen het volgende probleem.

Eerst gaf de functie imagecreatefromjpeg() een error, omdat er niet genoeg memory beschikbaar was. Deze heb ik vervolgens aangepast. Nu geeft deze functie geen error meer, maar geeft hij simpelweg de boolean false terug. Ik heb geen idee hoe ik dit op moet lossen en ben eigenlijk ten einde raad.

Hoop dat één van jullie mij kan helpen. Hieronder een stuk van mijn code:
PHP: script.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
               ini_set("memory_limit", "134217728");

        mysql_query("INSERT INTO photos (aid) VALUES ('".mysql_real_escape_string($_GET['id'])."')") or die(mysql_error());
        $id = mysql_insert_id();
        
        $src_img = imagecreatefromjpeg($_FILES['photoupload']['tmp_name']);
        $width = imagesx($src_img);
        $height = imagesy($src_img);
        
        $ratio = $width / $height;

        $height_large = 525;
        $width_large = $height_large * $ratio;
        
        $height_thumb = 75;
        $width_thumb = $height_thumb * $ratio;

        $dst_img = imagecreatetruecolor($width_large, $height_large);
        $dst_img_thumb = imagecreatetruecolor($width_thumb, $height_thumb);

        imagecopyresampled($dst_img, $src_img, 0, 0, 0, 0, $width_large, $height_large, $width, $height);
        imagecopyresampled($dst_img_thumb, $src_img, 0, 0, 0, 0, $width_thumb, $height_thumb, $width, $height);

        imagejpeg($dst_img, '../../photos/albums/'.$id.'.jpg', 100);
        imagejpeg($dst_img_thumb, '../../photos/albums/thumbs/'.$id.'.jpg', 100);

        chmod('../../photos/albums/thumbs/'.$id.'.jpg', 0777);
        chmod('../../photos/albums/'.$id.'.jpg', 0777);

  • CoolGamer
  • Registratie: Mei 2005
  • Laatst online: 23-11 16:20

CoolGamer

What is it? Dragons?

Staat error_reporting [error_reporting($level)] op E_ALL? Dan kan je waarschijnlijk zien wat er mis mee is.

¸.·´¯`·.¸.·´¯`·.¸><(((º>¸.·´¯`·.¸><(((º>¸.·´¯`·.¸.·´¯`·.¸.·´¯`·.¸<º)))><¸.·´¯`·.¸.·´¯`·.¸.·´¯`·.¸


Verwijderd

Topicstarter
Staat aan. Krijg geen enkele error op die regel. Hij retourneert slechts false en ik weet niet waar het aan ligt.

  • Koetjeboe
  • Registratie: Maart 2002
  • Laatst online: 12:12

Koetjeboe

Boe, zegt de koe

Kun je eens het volgende proberen?
code:
1
2
3
4
5
6
$imagestring = file_get_contents($_FILES['photoupload']['tmp_name']);

if(trim($imagestring) != '')
{
    $image = imagecreatefromstring($imagestring);
}


En controleer ook even of er wel iets in je imagestring staat, anders moet je misschien eerst even

move_uploaded_file

gebruiken.

  • TJHeuvel
  • Registratie: Mei 2008
  • Niet online
Weet je zeker dat het plaatje wat je upload wel een jpg is? Wellicht probeer je een png in imagecreatejpg te zetten.

Overigens raad ik aan om een externe library te gebruiken, zoals ImageMagick.

Freelance Unity3D developer


  • Precision
  • Registratie: November 2006
  • Laatst online: 12-08 21:08
Ik heb het uploaden van images opgelost met een java applet die lokaal bij de gebruiker de afbeelding resized. Minder netwerk verkeer en minder belastte servers, ideale oplossing. De gebruiker kan ook nog eens meerdere bestanden selecteren (in elke browser), wat in flash wel eens mis gaat als je >10-20 bestanden selecteert.

Crisis? Koop slim op Dagoffer - Op zoek naar een tof cadeau?


  • BarôZZa
  • Registratie: Januari 2003
  • Laatst online: 09:34
Als je gebruik kan maken van ImageMagick: doen. Is bij veel hosters standaard geinstalleerd.

Overigens zou ik dat scriptje geheel omgooien. Het lijkt me dat je eerst het plaatje wil bewerken en als dat goed is gegaan, dan kan je daarna een insert in je DB doen.

  • BrokenRules
  • Registratie: Augustus 2002
  • Laatst online: 10-03 14:20
@precision

Klinkt goed, wil je het scriptje delen?
Pagina: 1