problème avec imagegetsize (sûrement tout bête)

Petit nouveau ! | 1 Messages

29 avr. 2010, 23:12

Bonjour,

je suis nouveau j'aurais besoin d'aide sur un script que j'ai fait et je n'arrive pas à régler le problème, j'ai des erreurs au niveau du imagegetsize.
[code]<?php

class Img{

	static function creerMin($image,$chemin,$nom,$mlargeur=100,$mhauteur=100){
		// On supprime l'extension du nom
		$nom = substr($nom,0,-4);
		// On récupère les dimensions de l'image
		$dimension=getimagesize($nom);
		// On cré une image à partir du fichier récup
		if(substr(strtolower($image),-4)==".jpg"){$portrait = imagecreatefromjpeg($image); }
		else if(substr(strtolower($image),-4)==".png"){$portrait = imagecreatefrompng($image); }
		else if(substr(strtolower($image),-4)==".gif"){$portrait = imagecreatefromgif($image); }
		// L'image ne peut etre redimensionne
		else{return false; }?>
		[/code]
et la page avec formulaire:
[code]<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Gestion de galeries</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body>

<h1>Gestion de galeries</h1>

<?php
	mysql_connect("localhost", "root", "");
	mysql_select_db("test");
	
	//création de la liste des galeries
	$list_galerie="<select name='nom_galerie'><option value=''></option>";
	$retour = mysql_query("SELECT * FROM galerie ORDER BY gallery");
	while($donnees = mysql_fetch_array($retour)){
		$list_galerie .= "<option value='$donnees[1]'>$donnees[1]</option>";
	}
	$list_galerie .= "</select>";
?>

<!--Création du formulaire d'ajout et modification de galeries-->
<p>Choisissez une galerie parmi la liste ou créez une nouvelle galerie en inscrivant son nom</p>
<form method="post" action="formulaire_galerie.php" enctype="multipart/form-data">
	<fieldset><legend>Galerie</legend>
	<p><label>Choisir une galerie:</label><?php echo $list_galerie; ?></p>
	<p><label>Nom galerie:</label><input type="text" name="gallery" size="10" value=""/></p>
	<p><label>Photo:</label><input type="file" name="image"/></p>
	<br/><br/><input type="submit" name="envoyer" value="envoyer"/>
	</fieldset>
</form>

<?php
	$err=""; //initialisation de l'erreur
require("imgClass.php");
	//Si on valide le formulaire
	if((isset($_POST['nom_galerie']) && !empty($_POST['nom_galerie'])) || (isset($_POST['gallery']) && !empty($_POST['gallery']))){
		if($_FILES['image']['size']<=0)
			$err = "Vous n'avez envoyés aucun fichier.";
		else{ //un fichier a été envoyé
		$image=$_FILES['image'];
			if($_POST['gallery']==''){ //si le champs nom est vide, c'est un ajout à une galerie deja existante
				$gallery=$_POST['nom_galerie']; // on récupere le nom de la galerie
				if(!file_exists('galerie/'.$gallery)) //si le fichier n'existe pas, on le recréé
					mkdir('galerie/'.$gallery);
				if(file_exists($image['tmp_name']) && move_uploaded_file($image['tmp_name'], "galerie/".$gallery . "/" . $image['name']) && Img::creerMin("galerie/".$gallery."/min/".$image['name'],"galerie/".$gallery."/min",$image['name'],200,150)){
					$err = "L'image a été ajoutée avec succès.
					<br/> Veuillez patienter...";
					// rechargement automatique de la page au bout de 5 secondes
					//echo "<META http-equiv='refresh' content='5;url=affichage_galeries.php'>";
				}
				else{
					$err = "Erreur lors de l'envoie de l'image a votre galerie ".$gallery.".";
				}
			}
			
			else{ //sinon, c'est un ajout de galerie
				$gallery=$_POST['gallery']; //on récupere le nom de la galerie a ajouter
				
				//on vérifie que cette galerie n'existe pas
				$gal_exist=false; //booleen a true si la galerie existe
				$retour = mysql_query("SELECT * FROM galerie");
				while($donnees = mysql_fetch_array($retour)){
					if($gallery==$donnees[1]) //si $nom correspond deja a un enregistrement
						$gal_exist=true;
				}
				if($gal_exist==true){
					$err = "Cette galerie éxiste déja, saisissez un autre nom pour votre galerie.";
				}
				else{
					// on créé les dossiers de la galerie s'ils n'existent pas
					if(!file_exists('galerie'))
						mkdir('galerie');
					if(!file_exists('galerie/'.$gallery))
						mkdir('galerie/'.$gallery);
					if(!file_exists("galerie/".$gallery."/min"))
						mkdir("galerie/".$gallery."/min");	
					// on ajoute la galerie à la base de données
					$requete = mysql_query("INSERT INTO galerie(gallery, date_creation) VALUES('$gallery',NOW())");
					// on envoie le fichier dans le dossier de la galerie
					if(file_exists($image['tmp_name']) &&  move_uploaded_file($image['tmp_name'], "galerie/".$gallery . "/" . $image['name']) && Img::creerMin("galerie/".$gallery."/min/".$image['name'],"galerie/".$gallery."/min",$image['name'],200,150)){
						$err = "L'image a été ajoutée avec succès à votre nouvelle galerie ".$gallery.".
						<br/> Veuillez patienter...";
						// rechargement automatique de la page au bout de 5 secondes
						//echo "<META http-equiv='refresh' content='5;url=affichage_galeries.php'>";
					}
					else{
						$err = "Erreur lors de l'envoie de l'image a votre nouvelle galerie.";
					}
				}
			}
		}
	}
	echo "<br/><br/>".$err;
?>
<br/><br/>


</body>
</html>[/code]
En vous remerciant par avance

Eléphant du PHP | 422 Messages

30 avr. 2010, 09:42

hello

getimagesize($image);

non ?

ensuite c'est utilisé nul part !
Si c'est une class pourquoi il n'y a pas de this ???

++
toujours faire une recherche sur http://www.php.net et/ou sur http://www.google.fr :)
utiliser http://ideone.com/ pour vos codes :)