![]() |
![]() |
|
| Condividi questo contenuto nei Social Network: |
|
Tweet |
|
|
|
Ti stiamo aspettando: Registrati subito e gratis. Entra a far parte di una delle comunità più attive in Italia. Se hai dimenticato i tuoi dati li puoi recuperare subito. |
||||
|
|||||||||
|
|
LinkBack | Strumenti di discussione |
|
|
#1 (permalink) |
|
User
Data di registrazione: Jan 2010
Messaggi: 282
|
Salve ragazzi, ho un bel problema da proporvi
![]() Ho fatto un semplicissimo form HTML per l'upload di 5 immagini che rimanda alla pagina in PHP per la gestione dell'upload tramite il metodo POST. Il problema sta nel fatto che tutto funziona perfettamente su Chrome ma su Internet Explorer mi visualizza l'errore che il formato dell'immagine non è permesso! Vi posto il codice HTML: Codice:
<html> <body> <form name="upload" method="post" action="upload_foto.php" enctype="multipart/form-data"> <input type="file" name="uploadfile1"><br/> <input type="file" name="uploadfile2"><br/> <input type="file" name="uploadfile3"><br/> <input type="file" name="uploadfile4"><br/> <input type="file" name="uploadfile5"><br/> <br/> <input type="submit" name="go" value="Carica"> </form> </body> </html> Codice:
<?php
for ($i=1; $i<=5; $i++)
{ //comincia il ciclo FOR per l'upload di tutti i file.
$uploadfile="uploadfile$i";
// controllo che non ci siano stati errori nell'upload (codice = 0)
if ($_FILES[$uploadfile]['error'] == 0){
// upload ok
// controllo che il file sia nel giusto formato
if ($_FILES[$uploadfile]['type'] != "image/gif" && $_FILES[$uploadfile]['type'] != "image/jpeg" && $_FILES[$uploadfile]['type'] != "image/jpg" && $_FILES[$uploadfile]['type'] != "image/png") die("Sono permessi solo i formati gif, jpg, jpeg e png");
// ricavo l'estensione dell'immagine
$estensione_file = strstr($_FILES[$uploadfile]['name'], '.');
$nomefile="prova$i$estensione_file";
// copio il file dalla cartella temporanea a quella di destinazione con un nuovo nome che coincide con l'ID dell'utente più l'estensione dell'immagine
copy($_FILES[$uploadfile]['tmp_name'], "upload/".$nomefile) or die("Impossibile caricare il file");
// upload terminato, scrivo il nome del file nel record dell'utente
echo "Immagine 1, caricata con successo! <br>";
}
else{
// controllo il tipo di errore
if ($_FILES[$uploadfile]['error'] == 2){
// errore, file troppo grande (> 1MB)
die("Errore, file troppo grande: il massimo consentito è 1MB");
}
else{
// errore generico
die("Impossibile caricare il file. Sembra che il formato e la grandezza dell'imagine siano giuste. Forse abbiamo un problema al server, riprova più tardi.");
}
}
} //finisce il ciclo FOR
?>
Qualche idea? Qualche consiglio? Grazie a tutti PS: questo problema lo avevo già postato ieri ma il codice era più complesso e non ho avuto tante risposte. Quello che trovate quì è abbastanza semplice quindi spero di semplificare le cose e avere più risposte... |
|
Ultima modifica di Protone86 : 11-07-10 11:32. |
|
|
|
|
|
|
|
|
#2 (permalink) |
|
User
Data di registrazione: May 2010
Messaggi: 35
|
Prova a fare echo $_FILES[$uploadfile]['type']; E guarda quale differenta c'è tra chrome etc e internet explorer.
Io per verifficare l'estensione dell'immagine uso qusto codice Codice PHP:
|
|
Ultima modifica di boghy91 : 12-07-10 00:37. |
|
|
|
|
|
|
#3 (permalink) | |
|
User
Data di registrazione: Jan 2010
Messaggi: 282
|
Quote:
![]() Una domanda... ma la pagina PHP viene caricata subito dopo il click sul submit o prima vengono caricati i file e poi si apre la pagina PHP? Grazie ![]() | |
|
|
|
| Tags: upload |
| Strumenti di discussione | |
|
|