Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2010
    Messaggi
    333

    Fatal error in una funzione per produrre immagini in miniatura da immagini miste

    Ciao a tutti
    avendo necessità di creare una cartella piena di sole immagini in miniatura partendo da un'altra cartella piena di file diversi ho trovato questa funzione.
    Funziona tutto benissimo solo che ogni tanto mi fa un bel FATAL error perchè l'immaginre da rimpicciolire è troppo grande.
    Non capisco perchè faccia errore in quanto il programma dovrebbe appunto rimpicciolire tutte le immagini peoprio perchè troppo grandi.
    Secondo voi dov'è l'errore?
    Grazie


    Codice PHP:
    <?phpfunction createThumbs$pathToImages$pathToThumbs$thumbWidth ){  // open the directory  
    $dir opendir$pathToImages );
      
    // loop through it, looking for any/all JPG files:  while (false !== ($fname = readdir( $dir ))) {    // parse path for the extension    
    $info pathinfo($pathToImages $fname);    // continue only if this is a JPEG image    if ( strtolower($info['extension']) == 'jpg' )    {//      echo "Creating thumbnail for {$fname} <br />";
          // load image and get image size      $img = imagecreatefromjpeg( "{$pathToImages}{$fname}" );
          
    $width imagesx$img );      $height imagesy$img );
          
    // calculate thumbnail size      $new_width = $thumbWidth;    
      
    $new_height floor$height * ( $thumbWidth $width ) );
          
    // create a new temporary image      $tmp_img = imagecreatetruecolor( $new_width, $new_height );
          // copy and resize old image into new image      imagecopyresized( $tmp_img, $img, 0, 0, 0, 0, $new_width, $new_height, $width, $height );
          // save thumbnail into a file      imagejpeg( $tmp_img, "{$pathToThumbs}{$fname}" );    
    }  }  // close the directory  closedir( $dir );}
    PS
    Non capisco il perchè ma io inserisco il codice con tutti gli a capo e quando spedisco il post scompaiono
    Ultima modifica di jomla; 28-01-2014 a 15:09

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Quote Originariamente inviata da jomla Visualizza il messaggio
    ...
    Funziona tutto benissimo solo che ogni tanto mi fa un bel FATAL error perchè l'immaginre da rimpicciolire è troppo grande.
    Non capisco perchè faccia errore in quanto il programma dovrebbe appunto rimpicciolire tutte le immagini peoprio perchè troppo grandi.
    Secondo voi dov'è l'errore?
    Sarebbe il caso che scrivessi per esteso l'errore (tutte le volte che chiedi aiuto), così non ti si può aiutare perché non abbiamo idea di cosa lo possa generare.
    PS
    Non capisco il perchè ma io inserisco il codice con tutti gli a capo e quando spedisco il post scompaiono
    [/quote]
    Questo è a causa del programma che usi per scrivere il codice, è impostato per inserire il codice del ritorno a capo in stile Windows, mentre il forum gira su server Unix, quindi ha un codice diverso per i ritorni a capo.
    A parte per questo caso specifico, dato che stai programmando in PHP e PHP gira generalmente su server Unix, sarebbeil caso che impostassi il tuo IDE/Editor in modo che utilizzi i ritorni a capo stile Unix... come si fa? Boh, dipende da cosa usi, guarda tra le opzioni.

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2010
    Messaggi
    333
    Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 17280 bytes) in/a/s/index.phpon line 17

  4. #4
    Devi umentare il valore della direttiva memory_limit nel file php.ini
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2010
    Messaggi
    333
    sul server aruba?

  6. #6
    Aruba di default assegna 64M puoi modificarlo con:

    Codice PHP:
    ini_set('memory_limit''128'); 
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2010
    Messaggi
    333
    Ho inserito
    ini_set('memory_limit', '128M');

    ma fa lo stesso errore di prima

  8. #8
    L'ho provato prima di postarlo e modificando il valore della direttiva nel phpinfo() mi risulta come local value il valore impostato e come master value quello di default.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

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.