Ciao a tutti!
Ho bisogno di impostare i permessi di scrittura per la cartella in cui faccio l'upload di file caricarti tramite un Form, perchè caricando il file mi dà questi errori:

Warning: move_uploaded_file(/opt/lampp/htdocs/www.ilprincipe.eu/upload/20.jpg) [function.move-uploaded-file]: failed to open stream: Permission denied in /opt/lampp/htdocs/www.ilprincipe.eu/moduli/esito_articoli.php on line 108

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/phpeXilPd' to '/opt/lampp/htdocs/www.ilprincipe.eu/upload/20.jpg' in /opt/lampp/htdocs/www.ilprincipe.eu/moduli/esito_articoli.php on line 108

Questo è il codice:
Codice PHP:
        //PROCEDURA PER IL CARICAMENTO DEL FILE
        // assegnazione del file trasmesso - struttura con if per compatibilità versioni diverse
        
if(!isset($_FILES)) 
        {
          
$_FILES $HTTP_POST_FILES;
        }
        if(!isset(
$_SERVER)) 
        {
          
$_SERVER $HTTP_SERVER_VARS;
        }
        
// controllo dimensioni file
          
if ($_FILES["upfile"]["size"][0] > 100000000)
          {
                
$err_foto1=true;
          }
          else
          {
            
// controllo dimensioni file
            
if ($_FILES["upfile"]["size"][0] != 0)
            {
              
//Nuovo nome da dare al file uploadato, può anche non essere assegnato
             
$all_est=array('.jpeg','.jpg','.bmp','.tif','.tiff');
              
$estensione strtolower(substr($_FILES["upfile"]["name"][0], strrpos($_FILES["upfile"]["name"][0], "."), strlen($_FILES["upfile"]["name"][0])-strrpos($_FILES["upfile"]["name"][0], ".")));
             if (!
in_array($estensione,$all_est))
             {                
                
$err_foto2=true;
             }
             else
             {
              
$sql="SELECT * FROM codici_foto ORDER BY cod DESC LIMIT 1";
              
$a=$db->query($sql)or die("Errore ".$db->error);
              
$riga $a->fetch_assoc();
              
$cod=$riga["cod"];
              
$cod2=$cod+1;
              
$nome_file1 $cod2."$estensione";
              
$sql "INSERT INTO codici_foto
              (cod,nome_foto)
              VALUES
              (
$cod2,'$nome_file1')";
              
$db->query($sql)or die("Errore1 ".$db->error);
              
//Percorso assoluto della cartella dove si desiderano salvare i files uploadati
              
$upload_dir "/opt/lampp/htdocs/www.ilprincipe.eu/upload";
              echo 
"directory: $upload_dir";
              
//Controllo il file che è stato uploadato e lo sposto nella cartella definita nella variabile $upload_dir
              
if(is_uploaded_file($_FILES["upfile"]["tmp_name"][0])) 
              {
                
move_uploaded_file($_FILES["upfile"]["tmp_name"][0], "$upload_dir/$nome_file1")
                or die(
$_FILES["upfile"]["error"][0]);
                
chmod(realpath($upload_dir/$nome_file1), 0777);
              } 
             }
            }
          } 
Cosa sbaglio? perchè anche mettendo il chmod, mi segnala comunque quegli errori.

Grazie