Ciao,
ho una cartella che contiene file .doc e .pdf che sono mandati dagli utenti. Per i .pdf non ci sono problemi, vengono inviati e visualizzati correttamente, invece i .doc, per lo script risultano inviati ma nella cartella non ci sono, eppure lo script è lo stesso. I due formati vengono trattati in modo diverso?
// VERIFICA DI COMPATIBILITA CON I FORMATI SUPPORTATI
$allowed_types = array("application/msword","application/pdf","application/plain");
if(!in_array($_FILES["documento"]["type"],$allowed_types)) {
die("Il file non è di un tipo consentito, sono ammessi solo i seguenti formati: .doc .txt .pdf");
}
// VERIFICA DELLE DIMENSIONI
if($_FILES["documento"]["size"]>10000000){
die("Il file è di dimensioni più grandi di 10Mb");
}
$img_name = $_FILES['documento']['name'];//restituisce il nome del file in questo caso un'immagine
$img_temp = $HTTP_POST_FILES['documento']['tmp_name'];//Il nome del file temporaneo in cui il file caricato è salvato sul server.
$img_type = $_FILES['documento']['type'];// l'estensione del file, .gif, .jpg, .exe
$img_size = $_FILES['documento']['size'];// restituisce la grandezza del file
copy("$img_temp", "guide/$img_name");
$tit= $_POST["titolo"];
$reg=$_POST["regione"];
// ESEGUIAMO LA QUERY DI INSERIMENTO
$result = mysql_query("INSERT INTO localita (titolo, file, utente, regione, data_inserimento, tipo) VALUES ('$tit','$img_name','$utente', '$reg', now() , '$img_type')") or die("Query di inserimento fallita !");
// ESITO POSITIVO
echo "Il file $img_name è stato correttamente inserito nel Database";
Forse il problema è dato dal fatto che non tutti i file *.doc hanno come MIME "application/msword". Prova a cercare se ne esistono altri per i file *.doc.