Problème d'upload d'image
Résolu
rubikspirit
-
rubikspirit -
rubikspirit -
Bonjour à tous !
Voilà, je suis en train de développer un site Internet dont une partie qui sera dédiée à l'envoi de photos souvenirs, soirées en tout genre et tout.
J'ai pour cela installé un script d'upload de fichier avec un redimensionnement des images à la fin pour éviter des stocker des images trop grandes sur le serveur.
J'ai testé quelques images, pour certaines ça marche, mais pour d'autres, l'envoi ne marche pas, j'ai un message de retour qui me dit que l'image n'est pas une image jpeg. Pourtant, mon script autorise bien le Jpeg, Jpg, enfin tout ça quoi ^^
Pourriez vous regarder de plus près mon script et me dire ce qui pourrait faire déconner le script ?
Le voici :
Voila, voilou, l'erreur en question est le "Format de fichier incorrecte. Uniquement .jpeg".
Merci à tous !!
Voilà, je suis en train de développer un site Internet dont une partie qui sera dédiée à l'envoi de photos souvenirs, soirées en tout genre et tout.
J'ai pour cela installé un script d'upload de fichier avec un redimensionnement des images à la fin pour éviter des stocker des images trop grandes sur le serveur.
J'ai testé quelques images, pour certaines ça marche, mais pour d'autres, l'envoi ne marche pas, j'ai un message de retour qui me dit que l'image n'est pas une image jpeg. Pourtant, mon script autorise bien le Jpeg, Jpg, enfin tout ça quoi ^^
Pourriez vous regarder de plus près mon script et me dire ce qui pourrait faire déconner le script ?
Le voici :
<?php // Dossier de destination du fichier $folder = "images/soirees/"; // Tableau array des différents types $allowed_types = array("image/pjpeg", "image/jpeg", "image/JPEG", "image/JPG", "image/jpg"); // Variables récupérées par methode POST du formulaire $fname = $HTTP_POST_FILES['fichier']['name']; $ftype = $HTTP_POST_FILES['fichier']['type']; $fsize = $HTTP_POST_FILES['fichier']['size']; $ftmp = $HTTP_POST_FILES['fichier']['tmp_name']; // Récupération des dimensions $dim = getimagesize($ftmp); // Diverses test afin de savoir si : if (!in_array($ftype, $allowed_types)) // Le fichier n'est pas une image jpeg { echo '<p align="center">Format de fichier incorrecte. Uniquement .jpeg</p>'; } else if(file_exists($folder."".$fname)) // Le fichier existe déjà { echo '<p align="center">Fichier déjà existant</p>'; } else // Si tout va bien, c'est bien déroulé { // Redimensionnement $height = 600; $reduction = ( ($height * 100)/$dim[1] ); $width = ( ($dim[0] * $reduction)/100 ); // Création de la miniature $source = imagecreatefromjpeg($ftmp); // La photo est la source $folder = "images/soirees/"; // Dossier de destination de la miniature $destination = imagecreatetruecolor($width, $height); // On crée la miniature vide // Les fonctions imagesx et imagesy renvoient la largeur et la hauteur d'une image $largeur_source = imagesx($source); $hauteur_source = imagesy($source); $largeur_destination = imagesx($destination); $hauteur_destination = imagesy($destination); // On crée la miniature imagecopyresampled($destination, $source, 0, 0, 0, 0, $largeur_destination, $hauteur_destination, $largeur_source, $hauteur_source); // On enregistre la miniature imagejpeg($destination,''.$folder.''.$fname.''); echo'<p align="center">Upload de l\'image Ok<br /><br />'; // Enregistrement en base de données if(isset($_POST['description'])) $description=$_POST['description']; else $description=""; $ID_auteur=$_POST['ID_auteur']; $ID_parent=$_POST['ID_parent']; $date=$_POST['date']; $photoname=$_FILES['photo']['name']; $description = str_replace("//'","''",addslashes($description)); $db_part = mysql_connect($localhost,$login,$password) or die('Erreur de connexion '.mysql_error()); mysql_select_db('aekbfr_gallery',$db_part) or die('Erreur de selection '.mysql_error()); $sql_part = "INSERT INTO images(ID_image, image, description, ID_auteur, date, ID_parent) VALUES('','$fname','$description','$ID_auteur','$date','$ID_parent')"; mysql_query($sql_part) or die('Erreur SQL !'.$sql_part.'<br>'.mysql_error()); echo'<script type="text/javascript">window.setTimeout("location=(\''; if(isset($_GET['ID_parent'])) { echo'galerie.php?ID_parent='.$_GET['ID_parent'].''; } else { echo'galerie.php'; } echo'\');",0)</script>'; } ?>
Voila, voilou, l'erreur en question est le "Format de fichier incorrecte. Uniquement .jpeg".
Merci à tous !!
A voir également:
- Problème d'upload d'image
- Image iso - Guide
- Youtube upload - Télécharger - Diffusion
- Acronis true image - Télécharger - Sauvegarde
- Reduire taille image - Guide
- Légender une image - Guide