[RESOLU] Souci IE lors de téléchargement d'image

Mammouth du PHP | 881 Messages

08 févr. 2013, 21:14

Bonjour,

les usagers d'IE qui utilisent mon site ne peuvent pas télécharger d'image tandis que les usagers d'autres navigateurs le peuvent. Pourquoi?

Voici mon code formulaire
<form name="Questionne" action="index.php?mod=<?php echo $_GET["mod"].'&fct='.$_GET["fct"]; ?>" method="POST" enctype="multipart/form-data">
          		<input name="Confirmer" type="checkbox" value="Confirmer" />J`ai lu et j`accepte les conditions.
            		<br />
		<input name="NOUV_IMAGE" type="file"  accept="image/jpg,image/gif,image/png"  />
		<input type="hidden" name="MAX_FILE_SIZE" value="200000" /> 
    //Ici, il y  a les boutons, blabla et d'autres champs INPUT, peu importe, puisque ça fonctionne avec les navigateurs non-IE
</form>

Voici mon code d'interprétation

echo Telechargement ($_FILES["NOUV_IMAGE"], "images/Membres/Profil", "Profil", 150, 200, "Vert", $NumMbre);


function Telechargement ($CetteImage, $destination_dir = "images/Membres/Profil", $NomFinal = "Profil", $LargeurFinale = 150, $HauteurFinale = 200, $Sens = "Horiz", $NumMbre) {
	$file_max_size = 2000000;
	if (isset($CetteImage) && isset($_POST["Confirmer"]) && is_array($CetteImage)) {
		if ($CetteImage['error'] == UPLOAD_ERR_OK) {
			if($CetteImage['size'] > 0 && $CetteImage["size"] <= $file_max_size) {
//				$authorized_extensions = array('image/jpeg', 'image/gif', 'image/png');
				$authorized_extensions = array('image/jpeg');
				if (!is_dir($destination_dir)) {
					echo 'Veuillez indiquer un répertoire destination correct !';
					die(); 
	 			}
				if (!is_writeable($destination_dir)) {
					echo 'Veuillez spécifier des droits en écriture pour le répertoire destination !';
					die();      
				}  
    				$lastPos = strRChr($CetteImage['name'], ".");
    				if ($lastPos !== false && in_array(strToLower($CetteImage['type']), $authorized_extensions)) {
    				$TypeRecu = substr($CetteImage['name'], strpos($CetteImage['name'], '.'));
    				$destination_file = $NumMbre.'_'.$NomFinal.strtolower($TypeRecu);
    				//Nouvelle image au format de la version finale
    				$ImgPetite = imagecreatetruecolor($LargeurFinale, $HauteurFinale);
				$ImgSource = imagecreatefromjpeg($CetteImage['tmp_name']);
				$TailleInitiale = getimagesize($CetteImage['tmp_name']);
				// Redimensionnement
				imagecopyresized($ImgPetite, $ImgSource, 0, 0, 0, 0, $LargeurFinale, $HauteurFinale, $TailleInitiale[0], $TailleInitiale[1]);
				//Rotation si necessaire
				if ( ($Sens == "Vert" && $TailleInitiale[0] > $TailleInitiale[1]) || ($Sens == "Horiz" && $TailleInitiale[0] < $TailleInitiale[1]) ) {
				imagerotate ($ImgPetite, 270, 0);
			}
			imagejpeg($ImgPetite,   $destination_dir.DIRECTORY_SEPARATOR.$destination_file);
			return true;
		} else { echo 'Mauvais format de fichier<br>'; }								
		} else { echo 'Fichier trop grand ou inexistant.<br>'; }
		} else { 
		switch ($CetteImage['aFile']['error']){
			case UPLOAD_ERR_INI_SIZE:
			echo 'Le fichier Téléchargé dépasse la valeur spécifiée pour upload_max_filesize dans php.ini.';
			break;
			case UPLOAD_ERR_FORM_SIZE:
			echo 'Le fichier téléchargé dépasse la valeur spécifiée pour MAX_FILE_SIZE dans le formulaire d\'upload.';
			break;
			case UPLOAD_ERR_PARTIAL:
			echo 'Le fichier n`a été que partiellement téléchargé.';
			break;
			default:
			echo 'Aucun fichier n`a été téléchargé.';
     		} // switch
       		return false;
		}
	} else { // aucun fichier reçu
     		echo 'Pas de fichier recu';
		return false;
	} 
	//Fin du traitement relatif a l'ajout d'image
}


Merci
Soyez artisans de paix

Mammouth du PHP | 881 Messages

08 févr. 2013, 21:54

Je viens de lire sur internet que les géniaux microsofistes ont créé un nouveau type de fichier:
$_FILES["MonImage"]["type"]=>string(11) "image/pjpeg"
Merci de votre originalité!

=D>
Soyez artisans de paix