gallerie d'image

Par Bala Farouk, il y a 9 ans


Bonjour,
voila j'ai telecharger le code source https://www.grafikart.fr/tutoriels/php/gestion-images-php-52
Voila je rencontre un petit problème avec mon code.
Parse error: parse error, expecting T_OLD_FUNCTION' orT_FUNCTION' or T_VAR' or'}'' in c:\easyphp1-8\www\uplod\imgClass.php on line 5

Ce que je fais

Décrivez ici votre code ou ce que vous cherchez à faire

Entourez votre code avec ce symbole ```

Ce que je veux

Décrivez ici ce que vous cherchez à obtenir

Ce que j'obtiens

Décrivez ici vos erreurs ou ce que vous obtenez à la place de ce que vous attendez :(

12 réponses

Romain Chevallier, il y a 9 ans

je suis le seul que ca interpelle la version easyphp1-8 ??? parce que en DEV on est a la 16 ?

p1ngouin, il y a 9 ans

Je suppose que ça provient de la fonction juste avant : il doit manquer ou y avoir un } en trop.

Carouge10, il y a 9 ans

Bonjour,

A quoi correspond la ligne 5 ? Sans le code, on ne pourra pas deviner.

Bala Farouk, il y a 9 ans

merci
la ligne 5 correspant au fichier imgClass.php
la ligne ou il y a erreur : static function creerMin($img,$chemin,$nom,$mlargeur=100,$mhauteur=100){

le code complet sur le fichier image class dans le comentaire de cette video

https://www.grafikart.fr/tutoriels/php/gestion-images-php-52

Bala Farouk, il y a 9 ans
<?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; } } ?>
p1ngouin, il y a 9 ans

Tu tournes sur quelle version de PHP ?

Bala Farouk, il y a 9 ans

bonjour
c'est PHP Version 5.6.19
mais il me dis l'erreur est sur la ligne 5 : Parse error: syntax error, unexpected '{', expecting function (T_FUNCTION) in C:\EasyPHP-Devserver-16.1\eds-www\uplod\imgClass.php on line 5

et qui correspand a ce code : static function creerMin($img,$chemin,$nom,$mlargeur=100,$mhauteur=100){
mais j'arrive pas a trouvé ?
le code entier :

<?phparoundaroundclass Img{aroundaroundaround static function creerMin($img,$chemin,$nom,$mlargeur=100,$mhauteur=100){around // On supprime l'extension du nomaround $nom = substr($nom,0,-4);around // On récupère les dimensions de l'imagearound $dimension=getimagesize($img);around // On cré une image à partir du fichier récuparound if(substr(strtolower($img),-4)==".jpg"){$image = imagecreatefromjpeg($img); }around else if(substr(strtolower($img),-4)==".png"){$image = imagecreatefrompng($img); }around else if(substr(strtolower($img),-4)==".gif"){$image = imagecreatefromgif($img); }around // L'image ne peut etre redimensionnearound else{return false; }aroundaround // Création des miniaturesaround // On cré une image vide de la largeur et hauteur vouluearound $miniature =imagecreatetruecolor ($mlargeur,$mhauteur); around // On va gérer la position et le redimensionnement de la grande imagearound if($dimension[0]>($mlargeur/$mhauteur)*$dimension[1] ){ $dimY=$mhauteur; $dimX=$mhauteur*$dimension[0]/$dimension[1]; $decalX=-($dimX-$mlargeur)/2; $decalY=0;}around if($dimension[0]<($mlargeur/$mhauteur)*$dimension[1]){ $dimX=$mlargeur; $dimY=$mlargeur*$dimension[1]/$dimension[0]; $decalY=-($dimY-$mhauteur)/2; $decalX=0;}around if($dimension[0]==($mlargeur/$mhauteur)*$dimension[1]){ $dimX=$mlargeur; $dimY=$mhauteur; $decalX=0; $decalY=0;}around // on modifie l'image crée en y plaçant la grande image redimensionné et décaléearound imagecopyresampled($miniature,$image,$decalX,$decalY,0,0,$dimX,$dimY,$dimension[0],$dimension[1]);around // On sauvegarde le toutaround imagejpeg($miniature,$chemin."/".$nom.".jpg",90);around return true;around }aroundaroundaround static function convertirJPG($img){around // On cré une image à partir du fichier récuparound if(substr(strtolower($img),-4)==".jpg"){$image = imagecreatefromjpeg($img); }around else if(substr(strtolower($img),-4)==".png"){$image = imagecreatefrompng($img); }around else if(substr(strtolower($img),-4)==".gif"){$image = imagecreatefromgif($img); }around // L'image ne peut etre redimensionnearound else{return false; }around unlink($img);around imagejpeg($image,substr($img,0,-3)."jpg",90); around return true;aroundaround }around}aroundaround?>around
Carouge10, il y a 9 ans

Cela ne veux pas dire que l'erreur viens de cette ligne exactement.

Il nous faudrait le code où vous appellez cette fonction.

Bala Farouk, il y a 9 ans

voila le code qui fait appellé la fonction index.php
<?php```

if(!empty($_FILES)){ require("imgClass.php"); $img = $_FILES['img']; $ext = strtolower(substr($img['name'],-3)); $allow_ext = array("jpg",'png','gif'); if(in_array($ext,$allow_ext)){ move_uploaded_file($img['tmp_name'],"images/".$img['name']); Img::creerMin("images/".$img['name'],"images/min",$img['name'],215,112); Img::convertirJPG("images/".$img['name']); } else{ $erreur = "Votre fichier n'est pas une image"; } } ?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr"> <head> <script type="text/javascript" src="zoombox/jquery.js"></script> <script type="text/javascript" src="zoombox/zoombox.js"></script> <link rel="stylesheet" type="text/css" href="theme/style.css" /> <link href="zoombox/zoombox.css" rel="stylesheet" type="text/css" media="screen" /> </head> <body> <?php if(isset($erreur)){ echo $erreur; } ?> <form method="post" action="index.php" enctype="multipart/form-data"> <input type="file" name="img"/> <input type="submit" name="Envoyer"/> </form> <?php $dos = "images/min"; $dir = opendir($dos); while($file = readdir($dir)){ $allow_ext = array("jpg",'png','gif'); $ext = strtolower(substr($file,-3)); if(in_array($ext,$allow_ext)){ ?> <div class="min"> <a href="images/<?php echo $file; ?>" rel="zoombox[galerie]"> <img src="images/min/<?php echo $file; ?>"/> <h3><?php echo $file; ?></h3> </a> </div> <?php } } ?> </body> </html>
Carouge10, il y a 9 ans

Je ne vois pas non plus d'erreur.
Il vous reste plus qu'à tester ligne par ligne la class et voir où cela plante.

Romain Chevallier, il y a 9 ans

Je suis curieux de savoir tu as juste telechargé betement les fichiers ou tu as fait le tutos ?

parce que si tu réécris le tuto tu vois le moment ou ca pose problème la pour moi tu as telechargé le truc et tu nous demande sans avoir pris la peine de faire le tuto !!!!

On est pas la pour expliqué au gens le tuto et les sources sont un gain de temps une fois le tutos fait.

Bon courage

Bala Farouk, il y a 9 ans

j'ai suivis le tutorial de début a la fim ca n'a pas marche j'avais la meme erreur . et le tutorials je les suivi a partir youtube et si je me suis abonne sur ce site pour voir plus
merci