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' or
T_FUNCTION' or T_VAR' or
'}'' in c:\easyphp1-8\www\uplod\imgClass.php on line 5
Décrivez ici votre code ou ce que vous cherchez à faire
Entourez votre code avec ce symbole ```
Décrivez ici ce que vous cherchez à obtenir
Décrivez ici vos erreurs ou ce que vous obtenez à la place de ce que vous attendez :(
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
Je suppose que ça provient de la fonction juste avant : il doit manquer ou y avoir un }
en trop.
<?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;
}
}
?>
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
Cela ne veux pas dire que l'erreur viens de cette ligne exactement.
Il nous faudrait le code où vous appellez cette fonction.
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>
Je ne vois pas non plus d'erreur.
Il vous reste plus qu'à tester ligne par ligne la class et voir où cela plante.
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
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
je suis le seul que ca interpelle la version easyphp1-8 ??? parce que en DEV on est a la 16 ?