Likes Likes:  0
Resultaten 1 tot 4 van de 4
Geen
  1. #1
    webber
    performantie upload-thumb scriptje (php)
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    performantie upload-thumb scriptje (php)

    Hello,

    Wanneer ik een foto via een form wil uploaden, geeft hij SOMS een fatal
    error. Soms doet hij het dus wel, soms niet.
    Het script maakt bij het uploaden meteen 3 versies, elk met hun eigen
    grootte.
    De error die hij geeft:
    "Fatal error: Allowed memory size of 33554432 bytes exhausted at (null):0
    (tried to allocate 8032 bytes) in ... on line 621"

    Op line 621 staat t volgende:
    --> $srcImage = imageCreateFromJpeg($src) or die("imageCreateFromJpeg
    mislukt");

    Weet er iemand raad?
    tnx...

    Bij een upload doe ik het volgende :

    createThumbnail($tempFile,$destFile1,425,425,90);
    copyAndThumb($destFile1,$destFile2,220,220,90);
    copyAndThumb($destFile2,$destFile3,80,80,90);


    function copyAndThumb($src,$dest,$maxWidth,$maxHeight,$qual ity=80) {
    global $message;

    copy($src,$dest) or die("Kopiëren van de file ($src) naar ($dest) niet
    gelukt");
    $srcInfo = pathinfo($src);
    $destInfo = pathinfo($destInfo);
    createThumbnail($src,$dest,$maxWidth,$maxHeight,$q uality);
    }

    function createThumbnail($src,$dest,$maxWidth,$maxHeight,$q uality=80) {


    if (file_exists($src) && isset($dest)) {
    // path info
    $destInfo = pathInfo($dest);
    $srcInfo = pathInfo($src);

    // image src size
    $srcSize = getImageSize($src) or die ("$src niet Gevonden");

    // image dest size $destSize[0] = width, $destSize[1] = height
    $srcRatio = $srcSize[0]/$srcSize[1]; // width/height ratio
    $destRatio = $maxWidth/$maxHeight; // width/height ratio


    if ($srcRatio >= 1) {
    // landscape image

    if ($srcSize[0] < $maxWidth)
    $maxWidth = $srcSize[0];

    $destSize[0] = $maxWidth;
    $destSize[1] = (int)($srcSize[1] / ($srcSize[0]/$maxWidth));

    if ($destSize[1] > $maxHeight) {
    $destSize[0] = (int)($srcSize[0] / ($srcSize[1]/$maxHeight));
    $destSize[1] = $maxHeight;
    }
    }
    else {
    // portrait

    if ($srcSize[1] < $maxHeight)
    $maxHeight = $srcSize[1];

    $destSize[0] = (int)($srcSize[0] / ($srcSize[1]/$maxHeight));
    $destSize[1] = $maxHeight;

    if ($destSize[0] > $maxWidth) {
    $destSize[0] = $maxWidth;
    $destSize[1] = (int)($srcSize[1] / ($srcSize[0]/$maxWidth));
    }
    }

    // path rectification
    if ($destInfo['extension'] == "gif") {
    $dest = substr_replace($dest, 'jpg', -3);
    }

    // true color image, with anti-aliasing
    $destImage = imageCreateTrueColor($destSize[0],$destSize[1]) or die
    ("imagecreate mislukt");

    // src image
    switch ($srcSize[2]) {
    case 1: //GIF
    $srcImage = imageCreateFromGif($src);
    break;

    case 2: //JPEG
    --> $srcImage = imageCreateFromJpeg($src) or die("imageCreateFromJpeg
    mislukt");
    break;

    case 3: //PNG
    $srcImage = imageCreateFromPng($src);
    break;

    default:
    return false;
    break;
    }

    // resampling
    imageCopyResampled($destImage, $srcImage, 0, 0, 0,
    0,$destSize[0],$destSize[1],$srcSize[0],$srcSize[1]) or die
    ("imageCopyResampled mislukt");

    // generating image
    switch ($srcSize[2]) {
    case 1:
    case 2:
    imageJpeg($destImage,$dest,$quality) or die ("imageJpeg
    mislukt");
    break;

    case 3:
    imagePng($destImage,$dest);
    break;
    }
    imageDestroy($srcImage);
    imageDestroy($destImage);
    return true;
    }
    else {
    // Het bestand bestaat niet
    return false;
    }
    }


    Bedankt!





  2. #2
    Jan Smeelen
    performantie upload-thumb scriptje (php)
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: performantie upload-thumb scriptje (php)


    "webber" <nospam@nospam.com> wrote in message
    news:kCA6c.40609$DQ6.2876564@phobos.telenet-ops.be...
    > Hello,
    >
    > Wanneer ik een foto via een form wil uploaden, geeft hij SOMS een fatal
    > error. Soms doet hij het dus wel, soms niet.
    > Het script maakt bij het uploaden meteen 3 versies, elk met hun eigen
    > grootte.
    > De error die hij geeft:
    > "Fatal error: Allowed memory size of 33554432 bytes exhausted at (null):0
    > (tried to allocate 8032 bytes) in ... on line 621"
    >
    > Op line 621 staat t volgende:
    > --> $srcImage = imageCreateFromJpeg($src) or die("imageCreateFromJpeg
    > mislukt");
    >
    > Weet er iemand raad?
    > tnx...


    Moet je waarschijnlijk bij je webhoster even aankloppen,
    zoals de foutmelding al zegt, mag je niet meer geheugen gebruiken
    dan 33554432 bytes.

    Zover ik me herinner is dat een instelling in de php.ini file,
    waar je mogelijk zelf niet bij kan ?

    ( De vraag is echter of je webhoster die instelling wil wijzigen ? )

    Succes !
    Jan.



  3. #3
    webber
    performantie upload-thumb scriptje (php)
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: performantie upload-thumb scriptje (php)

    "Jan Smeelen" <smeelen@friaco.nl> schreef in bericht
    news:405dd127$0$279$6c4e9a8c@reader.news.uudial.eu .uu.net...

    > Moet je waarschijnlijk bij je webhoster even aankloppen,
    > zoals de foutmelding al zegt, mag je niet meer geheugen gebruiken
    > dan 33554432 bytes.
    >

    Had ik al gedaan, deze limiet is al een limiet die opgetrokken werd. (En
    toen was er ook het eigenaardige probleem van : soms werkt het wel, soms
    niet).
    >
    > Succes !
    > Jan.
    >

    Bedankt, zal het nodig hebben ;-)



  4. #4
    Daniel Tryba
    performantie upload-thumb scriptje (php)
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: performantie upload-thumb scriptje (php)

    webber <nospam@nospam.com> wrote:
    >> Moet je waarschijnlijk bij je webhoster even aankloppen,
    >> zoals de foutmelding al zegt, mag je niet meer geheugen gebruiken
    >> dan 33554432 bytes.
    >>

    > Had ik al gedaan, deze limiet is al een limiet die opgetrokken werd. (En
    > toen was er ook het eigenaardige probleem van : soms werkt het wel, soms
    > niet).


    Das maar goed ook, het namelijk niet veel meer dan symptoom
    bestrijding...

    Mijn gok is overigens dat het niet in de door jou getoonde code zit,
    immers daarin worden afaik de door gd gebruikte buffers netjes opgeruimt
    en komt het niet reproduceerbaar voor (tenminste ik mag hopen dat je dat
    bedoelt als je beweerd dat het niet altijd fout gaat)! Dus wat gebeurd
    daar?

    --

    Daniel Tryba


Webhostingtalk.nl

Contact

  • Rokin 113-115
  • 1012 KP, Amsterdam
  • Nederland
  • Contact
© Copyright 2001-2026 Webhostingtalk.nl.
Web Statistics