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