Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12

Discussione: problemi di memoria

  1. #1

    problemi di memoria

    ciao a tutti.. sto lavorando con le immagini e ho fatto uno script che mi ridimensiona tutte le immagini in una cartella.. e fin qui tutto bene, funziona! il problema è che se co sono troppe immagini dopo un po' la memoria utilizzabile finisce (l'ho già aumentata in modo da poter trattare immagini sopra il Mb perchè non mi bastavano i 12Mb che avevo impostato)...
    ..la domanda è: esiste un metodo per liberare la memoria che ho già utilizzato??

    grazie millE!!!

    ..IcE..
    visit the BEST italian fotolog http://www.ghiacciato.it/fotolog

    "Solo due cose sono infinite, l'universo e la stupidità dell'essere umano.. ma sulla prima ho ancora delle riserve.." A.Einstein

  2. #2
    su.. up..
    visit the BEST italian fotolog http://www.ghiacciato.it/fotolog

    "Solo due cose sono infinite, l'universo e la stupidità dell'essere umano.. ma sulla prima ho ancora delle riserve.." A.Einstein

  3. #3
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    think simple think ringo

  4. #4
    si, grazie.. lo uso già..
    ..ma non basta!!

    ho risolto in un modo alquanto brutto:
    la pagina crea 10 anteprime per volta e se ci sono ancora foto da processare al termine metto un link a se stessa che, passando via get il valore della foto a cui era arrivato, me ne processa altre 10..

    il fatto è che altrimenti mi da un errore 500 di configurazione del file, tempo di esecuzione non è perchè lo setto di volta in volta dentro un ciclo for, aggiungendo 20 secondi al tempo massimo (e lo script termina con errore dopo un 50sec abbondanti).. memoria ho modificato "on the fly" il limite massimo da 12 Mb a 100 (sperando che i gestori non mi uccidano)...
    chiudendo la pagina la mem utilizzata si azzera... ma mi piacerebbe un modo più elegante per poterlo fare durante l'esecuzione dello script!!

    altre idee???

    grazie, ..IcE..
    visit the BEST italian fotolog http://www.ghiacciato.it/fotolog

    "Solo due cose sono infinite, l'universo e la stupidità dell'essere umano.. ma sulla prima ho ancora delle riserve.." A.Einstein

  5. #5
    ri uppete!!
    visit the BEST italian fotolog http://www.ghiacciato.it/fotolog

    "Solo due cose sono infinite, l'universo e la stupidità dell'essere umano.. ma sulla prima ho ancora delle riserve.." A.Einstein

  6. #6
    mah.. ci riprovo... UP!!!
    visit the BEST italian fotolog http://www.ghiacciato.it/fotolog

    "Solo due cose sono infinite, l'universo e la stupidità dell'essere umano.. ma sulla prima ho ancora delle riserve.." A.Einstein

  7. #7
    Utente di HTML.it L'avatar di chris
    Registrato dal
    Sep 1999
    Messaggi
    1,568
    Posta il codice di instanza e distruzione delle immagini che usi. Non tutto il codice del ridimensionamento.
    "Nei prossimi tre anni col mio governo vogliamo vincere anche il cancro, che colpisce ogni anno 250.000 italiani e riguarda quasi due milioni di nostri concittadini"

  8. #8
    ok.. eccolo!
    Codice PHP:
     $new_img=imagecreatetruecolor($new_x,$new_y);
    //$new_* li elaboro sopra .. 
     
    imagecolorallocate($new_img,255,255,255);

      
    ini_set("memory_limit","1024000000");
      
    //altrimenti le immagini >1Mb non le posso elaborare

     
    switch ($type)    //1=>GIF 2=>JPEG 3=>PNG
     
    {
         case 
    1:
            
    $old_img=imagecreatefromgif($img);
            break;
        case 
    2:
            
    $old_img=imagecreatefromjpeg($img);
            break;
        case 
    3:
            
    $old_img=imagecreatefrompng($img);
            break;
     }
     
    //ridimensiono l'immagine
     
    imagecopyresampled($new_img,$old_img,0,0,0,0,$new_x,$new_y,$x,$y);
     
    //creo nuovo nome 
     //<- in realtà qui uso una funzione per rielaborare il nome originale
     
    $nome="img.jpg";
     
    //creo l'immagine
     
    imagejpeg($new_img,$nome,75);
     
    //echo "<img src=$nome>"; //debug
     //distruggo le immagini temporanee create
     
    imagedestroy($new_img);
     
    imagedestroy($old_img); 
    dopo la creazione di 10 anteprime 400x400 e di 10 a 100x100 da immagini di circa un Mb lo script da un errore 500! l'unico colpevole che ho individuato è la memoria utilizzata in quanto il tempo di esecuzione prima dell'errore è inferiore al tempo max..

    ciaù!
    visit the BEST italian fotolog http://www.ghiacciato.it/fotolog

    "Solo due cose sono infinite, l'universo e la stupidità dell'essere umano.. ma sulla prima ho ancora delle riserve.." A.Einstein

  9. #9
    proprio non ne sa nulla nessuno?!?

    mi terrò i miei dubbi e la mia soluzione "poco elegante" ma che gira..
    visit the BEST italian fotolog http://www.ghiacciato.it/fotolog

    "Solo due cose sono infinite, l'universo e la stupidità dell'essere umano.. ma sulla prima ho ancora delle riserve.." A.Einstein

  10. #10
    asd
    asd
    asd
    asd
    asd
    asd
    asd
    asd
    asd
    asd
    asd
    asd
    asd
    asd
    asd
    asd
    asd
    asd

    ...
    visit the BEST italian fotolog http://www.ghiacciato.it/fotolog

    "Solo due cose sono infinite, l'universo e la stupidità dell'essere umano.. ma sulla prima ho ancora delle riserve.." A.Einstein

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.