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

Free Discussion :

Soucis avec un script d'image


Sujet :

Free

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Baldy
    Homme Profil pro
    Inscrit en
    Juin 2008
    Messages
    224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 224
    Par défaut Soucis avec un script d'image
    Bonjour

    JE tente de comprendre quelque chose avec cet hébergeur.

    J'ai un site qui affiche des images et des données issues du BDD. J'ai également une petite administration pour ajouter facilement ces entrées.

    Une entrée est constituée d'une image et de 3 champs (VARCHAR). L'insertion dans la BDD se fait correctement, mais c'est au niveau de la génération de l'image que ça coince.

    Mon script PHP utilise les fonctions "imagecreatefrom" pour créer une image et sa miniature à partir du champ FILES d'un formulaire.

    En local pas de soucis, mais chez Free, on dirait que l'image n'est pas crée (ou alors mal crée) car elle ne s'affiche pas sur le site avec le reste des infos.

    Cela viendrait il de l'hébergeur? ou est ce mon script qui est erroné?

  2. #2
    Membre Expert Avatar de HiRoN
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2007
    Messages
    2 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2007
    Messages : 2 035
    Par défaut
    Bonjour,

    Sans code, difficile à dire.
    Personnellement, je ne pense pas que cela soit un problème de l'hébergeur.

    As-tu vérifié le chemin d'accès vers l'image ?
    As-tu tenté de construire le chemin de manière absolu (si créé en relatif) ?

    Des pistes de réflexions...
    Pensez à utiliser les ressources disponibles en Dev. Web :
    (x)HTML : Cours (X)HTML / FAQ (X)HTML
    CSS : Cours CSS / FAQ CSS / Galerie CSS
    Javascript : Cours / FAQ / Sources
    Mon site : Développeur Web Freelance

  3. #3
    Membre confirmé Avatar de Baldy
    Homme Profil pro
    Inscrit en
    Juin 2008
    Messages
    224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 224
    Par défaut
    Désolé pour le délai, voici le script qui me permet de créer l'image et la miniature

    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
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    //AJOUT D'UN TABLEAU
    if(isset($_POST['nouveau'])) {
    	/*if($_POST['nouveau_nom'] == '') {
    		$erreur .= 'Pas de nom indiqu&eacute;.<br />';
    	}*/
    	if($_POST['nouveau_dim'] == '') {
    		$erreur .= 'Pas de dimensions indiqu&eacute;es.<br />';
    	}
    	if(empty($_FILES['nouveau_fic']['tmp_name'])) {
    		$erreur .= 'Fichier non envoy&eacute;.<br />';
    	}
    	
    	if($erreur == '') {
    		$tableau = @getimagesize($_FILES['nouveau_fic']['tmp_name']);
    		if ($tableau == FALSE) { 
    			// si le fichier uploadé n'est pas une image, on efface le fichier uploadé et on affiche un petit message d'erreur 
    			unlink($_FILES['nouveau_fic']['tmp_name']); 
    			$erreur .= 'Votre fichier n\'est pas une image.<br />'; 
    		}
    		else {
    			//image jpeg ou png?
    			if ($tableau[2] == 2 || $tableau[2] == 3) {
    				$file_upload = $_FILES['nouveau_fic']['name'];
    				// on copie le fichier que l'on vient d'uploader dans le répertoire des images de grande taille
    				copy ($_FILES['nouveau_fic']['tmp_name'], $dir.'/'.$file_upload);
    				
    				//image jpeg
    				if ($tableau[2] == 2) {
    					// on crée une image à partir de notre grande image à l'aide de la librairie GD
    					$src = imagecreatefromjpeg($dir.'/'.$file_upload);
    					// on teste si notre image est de type paysage ou portrait
    					if ($tableau[0] > $tableau[1]) { 
    						$im = imagecreatetruecolor(round(($ratio/$tableau[1])*$tableau[0]), $ratio); 
    						imagecopyresampled($im, $src, 0, 0, 0, 0, round(($ratio/$tableau[1])*$tableau[0]), $ratio, $tableau[0], $tableau[1]); 
    					}
    					else { 
    						$im = imagecreatetruecolor($ratio, round(($ratio/$tableau[0])*$tableau[1])); 
    						imagecopyresampled($im, $src, 0, 0, 0, 0, $ratio, round($tableau[1]*($ratio/$tableau[0])), $tableau[0], $tableau[1]); 
    					}
    					// on copie notre fichier généré dans le répertoire des miniatures 
    					imagejpeg ($im, $dir_mini.'/'.$file_upload);
    				}
    				//image png
    				elseif ($tableau[2] == 3) { 
    					$src = imagecreatefrompng($dir.'/'.$file_upload); 
    					if ($tableau[0] > $tableau[1]) { 
    						$im = imagecreatetruecolor(round(($ratio/$tableau[1])*$tableau[0]), $ratio); 
    						imagecopyresampled($im, $src, 0, 0, 0, 0, round(($ratio/$tableau[1])*$tableau[0]), $ratio, $tableau[0], $tableau[1]); 
    					} 
    					else { 
    						$im = imagecreatetruecolor($ratio, round(($ratio/$tableau[0])*$tableau[1])); 
    						imagecopyresampled($im, $src, 0, 0, 0, 0, $ratio, round($tableau[1]*($ratio/$tableau[0])), $tableau[0], $tableau[1]); 
    					} 
    					imagepng ($im, $dir_mini.'/'.$file_upload); 
    				}
    				
    				if ($tableau[2] == 2) {
    					$ext = 'jpeg';
    				}
    				else {
    					$ext = 'png';
    				}
    				$tmp = explode('.', $file_upload);
    				$nom = $tmp[0];
    				$prix = mysql_real_escape_string(trim($_POST['nouveau_prix']));
    				$dim = mysql_real_escape_string(trim($_POST['nouveau_dim']));
    				$cat = mysql_real_escape_string(trim($_POST['nouveau_cat']));
    				$date = date('Y-m-d');
    				//ajout dans la BDD
    				$insert_tableau = mysql_query('INSERT INTO tableau (id_tableau, nom_tableau, ext_tableau, prix_tableau, dim_tableau, cat_tableau, date_tableau) VALUES ("", "'.$nom.'", "'.$ext.'", "'.$prix.'", "'.$dim.'", "'.$cat.'", "'.$date.'")');
    				$message = 'Tableau correctement ajout&eacute;';
    			}
    			else { 
    			// si notre image n'est pas de type jpeg ou png, on supprime le fichier uploadé et on affiche un petit message d'erreur 
    				unlink($_FILES['nouveau_fic']['tmp_name']); 
    				$erreur .= 'Votre image est d\'un format non support&eacute;.'; 
    			}
    		}
    	}
    }

Discussions similaires

  1. [DOM XML] Un souci avec un script
    Par namstou3 dans le forum Bibliothèques et frameworks
    Réponses: 9
    Dernier message: 28/10/2007, 15h47
  2. souci avec un script sur packages
    Par sophiedu13 dans le forum Administration système
    Réponses: 4
    Dernier message: 25/10/2007, 15h38
  3. soucis avec mon script de news
    Par Ludo75 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 11/01/2007, 14h41
  4. Petit souci avec un script
    Par Equinoxe5 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 30/09/2006, 15h43
  5. [Upload] Souci avec un script d'upload
    Par Ludo75 dans le forum Langage
    Réponses: 2
    Dernier message: 17/01/2006, 14h16

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