Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    536

    Fatal error: Uncaught Error: Call to undefined function imagecreatefromjpeg()

    Salve,
    Ho ripreso a studiare il php dopo tantissimo tempo e non ricordo quasi niente.
    Ad ogni modo, ho spostato un vecchio progetto sviluppato in php 7 sul nuovo xammp con stack php8-mysql. Non si tratta di nulla di eccezionale. In pratica tramite form in cui si possono inserire pochi dati e una foto si crea una scheda di un utente.
    Appena lanciato e provato ad inserire un record tramite form però mi sono ritrovato con questo errore:

    codice:
    array(7) {   ["action"]=>   string(12) "updateRecord"   ["id"]=>   string(1) "3"   ["username"]=>   string(4) "Marc"   ["age"]=>   string(2) "39"   ["fiscalcode"]=>   string(16) "FBRTTT39A17C444X"   ["email"]=>   string(17) "testtest@mail.com"   ["MAX_FILE_SIZE"]=>   string(7) "5000000" } UPDATE users set username='Marc', fiscalcode='FFRTTT48A17C444X' , age=39, email ='testtest@mail.com' WHERE ID=3
    Fatal error:  Uncaught Error: Call to undefined function imagecreatefromjpeg() in C:\xampp\htdocs\corsophp\functions.php:219 Stack trace: #0 C:\xampp\htdocs\corsophp\updateRecord.php(59): copyAvatar('3') #1 {main}   thrown in C:\xampp\htdocs\corsophp\functions.php on line 219

    Questa la linea di codice incriminata:

    Codice PHP:
     $imgResource imagecreatefromjpeg($_FILES['avatar']['tmp_name']); 

    Questa l'intera funzione in cui si trova la linea sopra:

    Codice PHP:
    function updateuser(array $array){
            
    var_dump($array);
            
    $mysqli $GLOBALS['mysqli'];
             
    $id = (int)$array['id'];
             
    $username $mysqli->escape_string($array['username']);
             
    $fiscalcode $mysqli->escape_string($array['fiscalcode']);
             
    $email $mysqli->escape_string($array['email']);
              
    $age = (int)$array['age'];
              
            
             
    $sql "UPDATE users set username='$username', fiscalcode='$fiscalcode'";
             
    $sql .=" , age=$age, email ='$email' WHERE ID=$id";
              
    $mysqli->query($sql);
                echo 
    $sql;
              return 
    $mysqli->affected_rows;
           
        }
        
           function 
    copyAvatar($userid){
               
    $res = [
                 
    'success' => false,
                 
    'message' => 'Problemi salvando immagine'
                  
    ];
               
                if(empty(
    $_FILES)){
                    
    $res['message'] = 'Nessun file caricato';
                    return 
    $res;
                }
               
               if(
    $_FILES['avatar']['error']){
                   return 
    $res;
                 }  
               
               if(
    $_FILES['avatar']['size']>MAX_FILE_SIZE){
                   
    $res['message'] = 'Il file supera '.MAX_FILE_SIZE.' bytes';
                   return 
    $res;
                 } 
               
                if(
    $_FILES['avatar']['type']!='image/jpeg'){
                    
    $res['message'] = 'Il file non è jpeg';
                    return 
    $res;
                 }  
                  
    $imgResource imagecreatefromjpeg($_FILES['avatar']['tmp_name']);
                  list(
    $orig_w$orig_h) = getimagesize($_FILES['avatar']['tmp_name']);
                  
    $rationOrg $orig_w/$orig_h;
                  
    $rationThumb MAX_FILE_WIDTH/MAX_FILE_HEIGHT;

                  
    //ratio avatar Big
                  
    $rationBig MAX_FILE_WIDTH_BIG/MAX_FILE_HEIGHT_BIG;

                   
    $calcWith MAX_FILE_WIDTH;
                   
    $calcHeight MAX_FILE_HEIGHT;

                   
    //BIG
                   
    $calcWithBig MAX_FILE_WIDTH_BIG;
                   
    $calcHeightBig MAX_FILE_HEIGHT_BIG;

                   if(
    $rationThumb $rationOrg){
                       
    $calcWith $calcWith*$rationOrg;
                   }else {
                       
    $calcHeight $calcWith/$rationOrg;
                   }

                   
    //BIG
                  
    if($rationBig $rationOrg){
                   
    $calcWithBig $calcWithBig*$rationOrg;
                   }else {
                   
    $calcHeightBig $calcWithBig/$rationOrg;
                   }

                  
    $scaleImg imagescale($imgResource$calcWith$calcHeight);
                  
    $avatarname =  $userid.'.jpg';

                  
    $result imagejpeg($scaleImgAVATAR_DIR.$avatarname);

                  
    //Ridimensionamento e salvataggio BIG
                 
    $scaleImgBig imagescale($imgResource$calcWithBig$calcHeightBig);
                 
    $avatarnameBig =  $userid.'_Big'.'.jpg';

               
    $resultBig imagejpeg($scaleImgBigAVATAR_DIR.$avatarnameBig);


                  if(!
    result){
                      
    $res['message'] = 'Impossibile salvare miniatura';
                      return 
    $res;
                  }
               
    $res['success'] = true;
               
    $res['message'] ='Immagine caricata';
               
    $sql "UPDATE users set avatar='$avatarname' where id=$userid";
               
    $GLOBALS['mysqli']->query($sql);
               return 
    $res;
               } 
    Non sono ancora in grado di capire dove mettere le mani per risolvere il problema.
    Potete aiutarmi per piacere?
    Grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    536
    Ok, trovato il problema e risolto.
    Ho dovuto aggiungere questa linea al php.ini:

    extension=php_gd.dll

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.