Ciao a tutti :)
Premetto che lo stesso codice funziona su un sito hostato su aruba (non mio quindi non lo posso sfruttare) e volevo applicarlo anche al sito altervista.
Dopo un pò di ricerca ho visto che qualcuno ha avuto problemi perchè la cartella temporanea di caricamento non era autorizzato ad usarla, è possibile? Se si, non so minimamente come risolvere la situazione!
Stampando a video il nome temporaneo che devo usare come primo paramentro nel comando move_uploaded_file() risulta questa stringa:
/membri/.dummy/temp/php<nome variabile>
Vi allego il codice php che uso:
ringrazio da subito chi tenterà si aiutarmiCodice PHP:
do {
echo('Errore: '.$HTTP_POST_FILES['userfile']['error'].'<br><br>');
if (is_uploaded_file($_FILES['userfile']['tmp_name'])) {
$msg="File Caricato Correttamente";
// Cambio il nome, se richiesto
$ext=substr($nomeFile,-4);
if($_POST[nomefile]!=""){
$nomeFile=$_POST[nomefile].$ext;
}
// Verifico che sul sul server non esista già un file con lo stesso nome
// In alternativa aggiungo un numero progressivo
if (file_exists($path.'/'.$nomeFile)) {
if($_POST[nuovonome]=="cambia"){
$i=1;
$Nome2=$nomeFile;
$Nome3=substr($nomeFile,0,-4);
while(file_exists($path.'/'.$Nome2)){
$Nome2=$Nome3.'_'.$i.$ext;
$i=$i+1;
}
$nomeFile=$Nome2;
}
}
echo('Nome Temp: '.$_FILES['userfile']['tmp_name'].'<br><br>');
echo('NomeFile: '.$nomeFile.'<br><br>');
// Sposto il file nella cartella da me desiderata
if (!move_uploaded_file($_FILES['userfile']['tmp_name'], $path.'/'.$nomeFile)) {
$msg = "<p>Errore nel caricamento del file!!</p>";
break;
}
}
} while (false);
echo $msg.'<br>Percorso da usare: <b>'.$path.'/'.$nomeFile.'</b><br><br>
<a href="'.$path.'/'.$nomeFile.'">Vedi File</a><br>
<a href="index.php?Link=DB/upload">Nuovo File</a>';
![]()