Upload et création d'une miniature (Miniature totalement noir !!??)

deli2025 Messages postés 40 Date d'inscription vendredi 14 mars 2008 Statut Membre Dernière intervention 4 mai 2020 - 5 mai 2010 à 15:26
deli2025 Messages postés 40 Date d'inscription vendredi 14 mars 2008 Statut Membre Dernière intervention 4 mai 2020 - 5 mai 2010 à 15:48
Bonjour, je suis entrain de crée un site qui génère des affiches.

J'ai donc un formulaire en html dans une page php avec un champs d'upload.

J'ai une page que ce charge d'inscrire les données dans la BD et par la même occasion crée une miniature de mon image principal.

Cela fonctionne, l'image arrive sur le serveur, l'originale est stockée dans un dossier et la miniature dans un autre.

Le problème c'est que la miniature est entièrement de couleur noir...!

Voici mon code entier (Upload, redimensionnement et inscription BD) :


<?php
session_start();
if (isset($_SESSION['islog']) && $_SESSION['level'] == 2){
//connection//
@mysql_connect('localhost', 'root', '')
or die ('Erreur de connexion: '.mysql_error());
@mysql_select_db('film')
or die ('Erreur de DB: '.mysql_error());

//Debut upload
//$dossier '../images-film/default/'; //créer un nouveau dossier
$fichier = basename($_FILES['film_photo']['name']); //nom du champ image a modifier/inserer
$taille_maxi = 1024000;
$taille = filesize($_FILES['film_photo']['tmp_name']);
$extensions = array('.jpg','.jpeg');
$extension = strrchr($_FILES['film_photo']['name'], '.');

//Début des vérifications de sécurité
//=============================================================
if(!in_array($extension, $extensions)) { //Si l'extension n'est pas dans le tableau
$erreur = 'Vous devez uploader un fichier de type jpeg ou jpg';
}
if($taille>$taille_maxi) {
$erreur = 'Le fichier est trop gros...';
}
if(!isset($erreur)) { //S'il n'y a pas d'erreur, on upload
//On formate le nom du fichier ici...
$fichier = strtr($fichier,
'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ',
'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
$fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
if(move_uploaded_file($_FILES['film_photo']['tmp_name'], $dossier . $fichier)) { //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
echo 'Upload effectué avec succès !';
}
else { //Sinon (la fonction renvoie FALSE).
echo 'Echec de l\'upload !';
}
}
else {
echo $erreur;
}
//Fin upload
//===============================================================

//redimensionnement
//$source imagecreatefromjpeg("'.$fichier.'"); // La photo est la source
$destination = imagecreatetruecolor(200, 150); // 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 sous son nom
imagejpeg($destination, '../images-film/'.$fichier.'');


//FIN redimensionnement
//$min 00;
if($_POST['strMin'] == 0) {
$_POST['strMin'] = $min;
}

$h = $_POST['strDuree'].'H'.$_POST['strMin'];
//$fichier = 'photo.jpg';

$query = "INSERT INTO t_film(film_nom,film_genre,film_annee,film_duree,film_realisateur,film_acteurs,film_description,film_cote,film_photo,film_annonce,film_lien)
VALUES(
'".addslashes($_POST['strNom'])."',
".addslashes($_POST['strGenre']).",
".addslashes($_POST['strDate']).",
'".addslashes($h)."',
'".addslashes($_POST['strRealisateur'])."',
'".addslashes($_POST['strActeurs'])."',
'".addslashes($_POST['strDescription'])."',
'".addslashes($_POST['strCote'])."',
'".addslashes($fichier)."',
'".addslashes($_POST['strBande'])."',
'".addslashes($_POST['strLien'])."')";

mysql_query($query);
echo $query;
//header('location:../index.php?membre=3');
}

else {

header ('location:../index.php');
}
?>

Merci d'avance pour votre aide

Thomas

1 réponse

deli2025 Messages postés 40 Date d'inscription vendredi 14 mars 2008 Statut Membre Dernière intervention 4 mai 2020
5 mai 2010 à 15:48
Bon résolut mon problème !!

Il ne trouvait pas la photo qu'il venait d'uploader il a fallut que je lui remette le chemin vers le serveur...


//redimensionnement
//$source imagecreatefromjpeg("../images-film/default/$fichier"); // La photo est la source
0
Rejoignez-nous