Riprendo il post che ho già scritto perchè si è perso tra i tanti, e non sono riuscita a trovare una soluzione
Ho implementato sulla base di tutorial che ho trovato in Internet il caricamento di file da un form.
La procedura funziona perfettamente in locale, ma quando la provo su server mi da i seguenti errori:
Warning: move_uploaded_file(../upload/17.jpeg) [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/phpGQ97fV' to '../upload/17.jpeg' in /opt/lampp/htdocs/www.ilprincipe.eu/moduli/esito_articoli.php on line 108
Il codice è il seguente:
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 = "../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("Non riesco a spostare il file $nome_file1");
}
}
}
}
Significa che non ho i permessi? Non so proprio dove sbattere la testa
Grazie
Michela