Salve ragazzi, ho questo problema.
Devo realizzare un form che consente l'upload di un file, ho usato il tag <infut type=file name=allegato> ma quando sottometto i form nel mio server dovrei copiare questo file come posso fare?
Salve ragazzi, ho questo problema.
Devo realizzare un form che consente l'upload di un file, ho usato il tag <infut type=file name=allegato> ma quando sottometto i form nel mio server dovrei copiare questo file come posso fare?
Il form deve essere di questo tipo:
qui sotto ti metto una picca funzione che uso per controllare l'estensione del file, poi il suo peso, creo la folder nel caso non esista e in fine uploado il file.Codice PHP:
<form name="form" id="form" method="post" action="<? echo $_SERVER['PHP_SELF'] ?>" enctype="multipart/form-data" >
Codice PHP:
$ext = array_pop(explode(".", $_FILES['image']['name']));
if(strtolower($ext) == 'jpg') { //controllo estensione file video
$file_size = $_FILES['image']['size'];
if($file_size < $max_filesize) {
//esegui l'upload
if (!is_dir($dir)) {
mkdir($dir, 0777);
$img = $_FILES['image']['name'];
copy($_FILES['image']['tmp_name'], $dir.$img);
unlink($_FILES['image']['tmp_name']);
} else {
$img = $_FILES['image']['name'];
copy($_FILES['image']['tmp_name'], $dir.$img);
unlink($_FILES['image']['tmp_name']);
}
} else {
echo "Il file Immagine [b]".$_FILES['image']['name']." ha superato la dimensione massima consentita!
";
} //chiudo controllo peso file
} else {
echo "okkio all'esensione
";
} // chiudo controllo estensione file
ciao, senti io fin ora ho usato questo codice:
$path = "AreaTecnica/upload";
if( $allegato != null ) {
$disegno = "Foto_".$allegato;
if (file_exists("$path/$disegno")) { unlink("$path/$disegno"); }
copy($disegno , "$path/$disegno");
unlink($allegato);
}
/*creazione query di inserimento*/
$query2 = "INSERT INTO schemi VALUES ('id_schema','$data','$titolo','$testo','$disegno' ,'$file')";
$ins2 = mysql_query($query2, $CON) or die (" Errore nella query2: " . mysql_error());
pero a parte che nel Database mi va a mettere per esteso l'url del file allegato (es. C:\document....) ma poi nn mi fa nemmeno l'upload del file sul server, perche?
dov'è che sbaglio
verifica di avere i permessi in scrittura sulla vartella ove vai ad uploadare.
ciao, grazie per l'intervento ti chiedevo, io il mio sito ce l'ho su un host windows di Aruba, ho sentito dire che i permessi non sono modificabili e che devo fare l'upload nella cartella public, ne sai qualcosa? puoi confermarmelo?
Poi un'altra curiosità, perche continua a uscirmi l'intera path del file? come si fa per estrapolare solo il nome del filr senza tutto il percorso dove risiede sul client?
GRAZIE MILLE CIAO
Si confermo per quanto riguarda aruba.
Mentre per il file del percorso richiamalo in un altro modo con due variabili ad esempio
$link.$url
cosi nel database inserisci solo url che è sil singolo nome del file, mentre per indicare dove fare l'upload lo scrivi per intero.
ciao senti, ho un problema, ho spostato tutto l'upload nella cartella public del server, ma l'upload ancora non me lo fa fare, a dire il vero se faccio una echo $allgato per vedere quale nome assegna al file di cui fare l'upload, questo non mi restituisce nulla, mi puoi riportare uno schema semplice di upload, senza controlli sulla grandezza del fiel e nulla, qualcosa di semplice e funzionante...da cui prendere spunto tieni conto che devo fare un semplice upload di un allegato, di qualsiasi estensione e grandezza
Grazie mile per la gentilezza e scusami. buona serata