Un Evento Unico. 5 Sale. 27 Interventi. SEO, SOCIAL, E-Commerce, Mobile, Turismo.
CLICCA QUI e SCOPRI DI PIù X Chiudi
 
Forum GT: Condividiamo idee e conoscenza Forum GT: Condividiamo idee e conoscenza


Condividi questo contenuto nei Social Network:
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.


Vai indietro   Forum per Webmaster: Condividiamo Idee e Conoscenza > Sviluppo e Gestione siti web > Php - Mysql
Benvenuto! Forum Regole FAQ Lista utenti Calendario Segna come letti


Rispondi
 
LinkBack Strumenti di discussione
Vecchio 11-07-10, 11:27   #1 (permalink)
User
 
Data di registrazione: Jan 2010
Messaggi: 282
Thumbs up Problema upload immagini su Internet Explorer

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>
...e questa è la pagina upload_foto.php:
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

?>
Il problema è un pò strano perchè il PHP viene gestito lato server e non dal browser come per l'HTML...

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.
Protone86 ora è in linea   Rispondi citando
Vecchio 12-07-10, 00:33   #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:
            $filename basename($_FILES['file']['name']);
            
$file =  strrpos($filename'.');
            if(
$file === false)
            {        
             
//file senza estensione
            
}
            else
            {
                
$ext substr($filename$file 1);
                if(
$ext == 'png'//continua script
                
else //fermati
            


Ultima modifica di boghy91 : 12-07-10 00:37.
boghy91 non in linea   Rispondi citando
Vecchio 12-07-10, 08:30   #3 (permalink)
User
 
Data di registrazione: Jan 2010
Messaggi: 282
Quote:
boghy91 Visualizza il messaggio
Prova a fare echo $_FILES[$uploadfile]['type']; E guarda quale differenta c'è tra chrome etc e internet explorer.
Si, alla fine ieri mi sono sviluppato lo stesso algoritmo e adesso funziona tutto perfettamente!

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
Protone86 ora è in linea   Rispondi citando
Vecchio 13-07-10, 11:30   #4 (permalink)
Moderatore
 
L'avatar di ayrton2001
 
Data di registrazione: Jul 2006
Ubicazione: Bagheria
Messaggi: 1,145
Invia un messaggio tramite MSN a ayrton2001 Invia un messaggio tramite Skype a ayrton2001
Quote:
Protone86 Visualizza il messaggio
Si, alla fine ieri mi sono sviluppato lo stesso algoritmo e adesso funziona tutto perfettamente!

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
Prima vengono caricati i file e poi si apre la pagina
ayrton2001 non in linea   Rispondi citando
Rispondi
Tags:



Strumenti di discussione

Regole di scrittura
Non puoi postare nuove discussioni
Non puoi rispondere alle discussioni
Non puoi allegare file
Non puoi editare i tuoi post

BB code is Attivo
smilies è Attivo
[IMG] il codice è Attivo
Il codice HTML è Disattivato
Trackbacks are Attivo
Pingbacks are Attivo
Refbacks are Disattivato
Vai al forum



Tutti gli orari sono GMT +3. Attualmente sono le 15:28.




Forum GT - © 2004-2009 GT idea S.r.l P.iva 02418200800 - Privacy/Disclaimer

SEO by vBSEO 3.2.0 ©2008, Crawlability, Inc.