IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

extension de fichier tmp_name different avec IE


Sujet :

Langage PHP

  1. #1
    Membre habitué Avatar de monlou
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2010
    Messages : 363
    Points : 144
    Points
    144
    Par défaut extension de fichier tmp_name different avec IE
    Bonjour,

    je rencontre un probleme plutot bizarre.
    mon script de uplaod photo va tres bien avec firefox mais pas avec I.E

    avec I.E , ca déclenche une erreur d'extension causé par le fait que dans TMP_NAME, il y a un p placé tout juste devant l'extension alors que avec firefox, ce n'est pas le cas.

    voici le message que donne avec print_r ($_FILES)

    comme ceci
    Array ( [photo] => Array ( [name] => 008.JPG [type] => image/pjpeg [tmp_name] => C:\wamp\tmp\php9DE3.tmp [error] => 0 [size]
    => 143082 ) )
    ce qui déclenche une erreur d'extension

    re voici le code de mon uplaod

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    <?php
    $action = (isset($_POST['action'])) && !empty($_POST['action']) ? $_POST['action'] : NULL;
     
    	  switch ($action) {
    		case 'INSERT_passager' : // Insertion des données de l'utilisateur
            $erreur = false;
    		$erreur_img = false;
     
    		//if ($_FILES['photo'] != array())  {
    			//$erreur_img = false;
    		//}   
    		     if (isset($_FILES['photo']) && !empty($_FILES['photo']) && !empty($_FILES['photo']['name'] ) ) {
    				  if ($_FILES['photo']['error'] > 0)     {
    					switch ($_FILES['photo']['error']) {
    						case 1 : $msgErreur[] = 'Le fichier téléchargé excède la taille de 2 mo.';
    						break;
    						case 2 : $msgErreur[] = 'Le fichier téléchargé excède la taille MAXFILE SIZE de 200 ko';
    						break;
    						case 3 : $msgErreur[] = 'Le fichier a été que partiellement téléchargé.';
    						break;
    						case 4 : $msgErreur[] = 'Aucun fichier a été téléchargé';				
    						break;
    						//case 5 : $msgErreur[] = 'erreur';
    						// break;
    						case 6 : $msgErreur[] = 'Un dossier temporaire est manquant';
    						break;
    						case 7 : $msgErreur[] = 'Échec de l\'ecriture du fichier sur le disque';
    						break;
    						case 8 : $msgErreur[] = 'Une extension PHP a arrété l\'envoi de fichier';
    						break;									
    					}										 					
    				}
    					$type_fichier = array('image/png', 'image/gif', 'image/jpg', 'image/jpeg', 'image/bmp');
    					//$extensions = array('image/png', 'image/gif', 'image/jpg', 'image/jpeg', 'image/bmp');
    					//$extension = $_FILES['photo']['type'];
    				 if (empty($_FILES['photo']['type']) || !in_array($_FILES['photo']['type'], $type_fichier)) {	
    			//if (isset($extension) && !in_array($extension, $extensions)) {  //Si l'extension existe et si elle n'est pas dans le tableau
     
    					$msgErreur[] = ' ERREUR - Vous devez uploader un fichier de type png, gif, jpg, jpeg, ou bmp seulement!';
    					$erreur_img = true;				
    			}	
     
    			print_r($_FILES);
    				//var_dump ($_FILES);
    			if ($erreur_img == false) {
    				$fichier = basename($_FILES['photo']['name']);
    				$taille_maxi = 200000;
    				$taille = filesize($_FILES['photo']['tmp_name']);
    				//$extension = strrchr($_FILES['photo']['name'], '.');
    				$fichier = strtr($fichier, '
                        ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ',
                        'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
    				$fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier); // replace le fichier sans les caracteres indesirables
    				$dossier = '../images/img_membres/';
    				if (move_uploaded_file($_FILES['photo']['tmp_name'], $dossier . $fichier) == false) {
                        $erreur_img = true;
    					$msgErreur[] = ' ERREUR - aucun fichier a été télécharger!!';
    	        }
    		  }
            }
    break;
    }
    ?>

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Le type mime est peu recommendable puisqu'il depend du navigateur.
    pjpeg existe apparement uniquement chez IE.

  3. #3
    Membre expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Points : 3 947
    Points
    3 947
    Par défaut
    Salut

    Rajoute le (image/pjpeg) dans la liste des types mime est ce sera bon.

  4. #4
    Membre habitué Avatar de monlou
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2010
    Messages : 363
    Points : 144
    Points
    144
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Le type mime est peu recommendable puisqu'il depend du navigateur.
    pjpeg existe apparement uniquement chez IE.

    j'imagine que le protocole de type MIME est défini dans le php.ini?

  5. #5
    Membre habitué Avatar de monlou
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2010
    Messages : 363
    Points : 144
    Points
    144
    Par défaut
    Citation Envoyé par RunCodePhp Voir le message
    Salut

    Rajoute le (image/pjpeg) dans la liste des types mime est ce sera bon.
    oui ca règle très bien le problème effectivement !!!
    merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 11/10/2009, 17h37
  2. Réponses: 1
    Dernier message: 25/04/2009, 17h45
  3. boutique avec extension upload fichier client
    Par zeiss dans le forum E-Commerce
    Réponses: 0
    Dernier message: 09/01/2009, 11h09
  4. Probleme avec Extension de fichier
    Par L4BiN dans le forum API standards et tierces
    Réponses: 15
    Dernier message: 17/07/2007, 10h35
  5. Réponses: 5
    Dernier message: 09/01/2005, 20h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo