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