Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1

    Upload file e browser diversi da IE

    Salve a tutti!!
    Spero che qualcuno possa darmi una mano con questo problema: dunque, ho creato una funzione per uploadare delle immagini passando come paramentro la cartella di destinazione e il nuovo nome del file.
    La cosa funziona perfettamente con IE, ma ho scoperto che non va nč con Netscape nč con Opera... non so proprio dove sbattere la testa!
    Illuminatemi, please!! Posto qui il codice...
    codice:
    function saveImage($nomefile,$newnome,$dest,$maxsize){
    if(isset($_FILES[$nomefile])){
    	if (is_uploaded_file($_FILES[$nomefile]['tmp_name'])){			if ($_FILES[$nomefile]['size'] <= $maxsize &&
    ($_FILES[$nomefile]['type'] == "image/pjpeg")){       				
    				copy($_FILES[$nomefile]['tmp_name'],$dest.'/'.$newnome.'.jpg');	   		
    				return $newnome.'.jpg';
    				}	   		
    	   		unlink($_FILES[$nomefile]['tmp_name']);
    			return NULL;
    	   		}
    		else return NULL;
    		}
    	else return NULL;
    	}
    Vuoi essere il nuovo Colombo? Allora scopri l'America! American Pizza Party

  2. #2
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    ciao, solo IE usa 'image/pjpeg' per il type dell'immagine, mentre gli altri usano 'image/jpeg'.
    ti conviene fare i controlli tramite la funzione http://www.php.net/getimagesize




    think simple think ringo

  3. #3
    Grazie mille, ci stavo perdendo il sonno!!

    Quindi se aggiungo
    || ($_FILES[$nomefile]['type'] == "image/jpeg" dovrebbe funzionare lo stesso, anche senza usare getimagesize?
    Vuoi essere il nuovo Colombo? Allora scopri l'America! American Pizza Party

  4. #4
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    si, dovrebbe




    think simple think ringo

  5. #5
    Si, ora funziona!!
    Thank you!
    Vuoi essere il nuovo Colombo? Allora scopri l'America! American Pizza Party

  6. #6
    conviene verificare il contenuto del file e non tanto l'estensione ...

    la cosa potrebbe essere soggetta a PESANTI vulnerabilitā ^^
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

  7. #7
    cosa intendi? O meglio... con quale funzione controllo il contenuto?
    Vuoi essere il nuovo Colombo? Allora scopri l'America! American Pizza Party

  8. #8
    lo apri, leggi i primi 10 byte e vai verificando un tot di byte in base alle intestazioni dei formati ... le confronti ... se trovi uguaglianza vuol dire che hai identificato il tipo di file e quindi puoi decidere se farlo passare o meno, se non lo hai trovato, sicuramente, non deve passare

    dentro il file

    mime.magic di apache trovi tutte le specifiche di ogni header
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

  9. #9
    Se invece decidessi di usare getimagesize, come diceva marketto, dovrei fare ugualmente queste verifiche, oppure vengono svolte automaticamente dalla funzione?
    In sostanza, perchč duplicare il codice, non c'č nessuna funzione che svolga giā questi controlli? Stavo dando un'occhiata a exif_imagetype(), ma la guida dice che fa la stessa cosa di getimagesize().
    Grazie per la disponibiltā!!
    Ciao
    Vuoi essere il nuovo Colombo? Allora scopri l'America! American Pizza Party

  10. #10
    si, getimagesize, fa quello che a te serve, č limitato ad un set specifico di formati

    non puō dirti se un file č un pdf, un doc, un xls o una presentazione di power point ... o se č un eseguibile win32 o elf o coff e cosi via
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.