Page 1 sur 1

erreur code php

Posté : 03 janv. 2017, 16:20
par fabrice88250
Bonjour,
sur une classe qui me permet de redimenssioner mes images j'ai une erreur php
Parse error: syntax error, unexpected T_STATIC, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /homepages/htdocs/promotions/imgClass.php on line 3
la ligne 3 est :

Code : Tout sélectionner

static function creerMin($img,$chemin,$nom,$mlargeur=100,$mhauteur=100){
je n'y voie pas d'erreur...

le code complet de la classe est :

Code : Tout sélectionner

<?php class Img{ static function creerMin($img,$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($img); // On cré une image à partir du fichier récup if(substr(strtolower($img),-4)==".jpg"){$image = imagecreatefromjpeg($img); } else if(substr(strtolower($img),-4)==".png"){$image = imagecreatefrompng($img); } else if(substr(strtolower($img),-4)==".gif"){$image = imagecreatefromgif($img); } // L'image ne peut etre redimensionne else{return false; } // Création des miniatures // On cré une image vide de la largeur et hauteur voulue $miniature =imagecreatetruecolor ($mlargeur,$mhauteur); // On va gérer la position et le redimensionnement de la grande image if($dimension[0]>($mlargeur/$mhauteur)*$dimension[1] ){ $dimY=$mhauteur; $dimX=$mhauteur*$dimension[0]/$dimension[1]; $decalX=-($dimX-$mlargeur)/2; $decalY=0;} if($dimension[0]<($mlargeur/$mhauteur)*$dimension[1]){ $dimX=$mlargeur; $dimY=$mlargeur*$dimension[1]/$dimension[0]; $decalY=-($dimY-$mhauteur)/2; $decalX=0;} if($dimension[0]==($mlargeur/$mhauteur)*$dimension[1]){ $dimX=$mlargeur; $dimY=$mhauteur; $decalX=0; $decalY=0;} // on modifie l'image crée en y plaçant la grande image redimensionné et décalée imagecopyresampled($miniature,$image,$decalX,$decalY,0,0,$dimX,$dimY,$dimension[0],$dimension[1]); // On sauvegarde le tout imagejpeg($miniature,$chemin."/".$nom.".jpg",90); return true; } static function convertirJPG($img){ // On cré une image à partir du fichier récup if(substr(strtolower($img),-4)==".jpg"){$image = imagecreatefromjpeg($img); } else if(substr(strtolower($img),-4)==".png"){$image = imagecreatefrompng($img); } else if(substr(strtolower($img),-4)==".gif"){$image = imagecreatefromgif($img); } // L'image ne peut etre redimensionne else{return false; } unlink($img); imagejpeg($image,substr($img,0,-3)."jpg",90); return true; } } ?>

Re: erreur code php

Posté : 03 janv. 2017, 16:25
par moogli
salut,

syntaxiquement c'est correct.
quel est ta version de PHP ?


@+

Re: erreur code php

Posté : 03 janv. 2017, 16:29
par fabrice88250
je suis en PHP 5.6

Re: erreur code php

Posté : 03 janv. 2017, 18:03
par moogli
le seul truc qui vois qui pourrait manquer c'est le mot clef indiquant la visibilité devant static (public | protected | private)
ceci dit il est facultatif et fait que la méthode est publique par défaut.

regarde si tu n'as pas de caractère invisible qu traîne avant le mot clef static

si tu vire tout et créé une classe vide, ça fonctionne ?
ensuite ajoute a la main (pas de copier collé) les méthodes (d'abord la structure puis le contenu etc.).

@+