Parse error: syntax error, unexpected '}'

Résolu/Fermé
juracitepark Messages postés 58 Date d'inscription mardi 3 novembre 2009 Statut Membre Dernière intervention 8 avril 2013 - 3 janv. 2013 à 21:17
typiac Messages postés 92 Date d'inscription lundi 9 mai 2011 Statut Membre Dernière intervention 14 janvier 2015 - 3 janv. 2013 à 23:17
Bonjour, J'ai récemment pris un script, sachant l'utiliser et le modifier bien sûr, mais une erreur est apparu subitement:

Parse error: syntax error, unexpected '}' in /htdocs/public/www/index.php on line 118

J'ai vu sur certains forum que c'était à cause du php, qu'il fallait le mettre à niveau (php5).

Voici mon code:

<div id="toto">
<?php

        ########################################

        #

        # Affichage image aléatoire //manucci.info

        #

        ########################################



        //On indique le dossier images

        $chem_img = "./uploads";

        //On ouvre le dossier images

        $handle  = opendir($chem_img);

        

        //On parcoure chaque élément du dossier

        while ($file = readdir($handle))

                {

                        //Si les fichiers sont des images

                        if(preg_match ("!(\.jpg|\.jpeg|\.gif|\.bmp|\.png)$!i", $file))

                                {

                                        $listef&#91;&#93; = $file;

                                }

                }

        

        $random_img = rand(0, count($listef)-1); //permet de prendre une image totalement au hasard (RANDom) parmi toutes les images trouvées.

        

        //On calcule la largeur et la hauteur de l'image aléatoire

        $size = getimagesize($chem_img."/".$listef&#91;$random_img&#93;);

        

        //Largeur maximale de l'image pour la création des miniatures

        $largeur_maxi = 200;

        //Si la largeur dépasse la limite autorisée...

        if ($size&#91;0&#93; > $largeur_maxi)

                {

                        //...la nouvelle largeur est égale à la limite à ne pas dépasser

                        $width = $largeur_maxi;

                        //La largeur d'origine divisée par la largeur limitée (on obtient un chiffre qui sert à faire la même proportion pour la hauteur)

                        $theight = ($size&#91;0&#93;/$largeur_maxi);

                        //La hauteur originale est divisée par le chiffre obtenu précédemment afin que l'image conserve les mêmes proportions que l'originale (mais en mode vignette)

                        $height = ($size&#91;1&#93;/$theight);

                }

        else

                {

                        //Sinon on garde la taille originale

                        $width = $size&#91;0&#93;; $height = $size&#91;1&#93;;

                }

        //On affiche l'image aléatoire (en respectant les standards ! <img src="https://forum.phpfrance.com/images/smilies/icon_smile.gif" alt=":)" title="Smile" /> )

        echo "<a href=\"".$chem_img."/".$listef&#91;$random_img&#93;."\" onclick=\"window.open(this.href,'_blank');return false;\"><img style=\"border: none; width: ".$width."px; height: ".$height."px\" src=\"".$chem_img."/".$listef&#91;$random_img&#93;."\" alt=\"".$listef&#91;$random_img&#93;."\" /></a>";

        //On ferme le dossier

        closedir($handle);

?>
  </div>


Pour infos:

-J'utilise Filezilla, en mode de transfert Binaire
-Mon hébergeur est amen.fr sous linux



2 réponses

juracitepark Messages postés 58 Date d'inscription mardi 3 novembre 2009 Statut Membre Dernière intervention 8 avril 2013 1
3 janv. 2013 à 21:34
Erreur réglé, j'ai pris un code plus simple et plus complet ;):

$dossier = 'PHOTO';
$dossier_images = $dossier.'/*.{jpg,jpeg,gif,png}';

$tab_dossier = glob($dossier_images,GLOB_BRACE);
$img_aleatoire = $tab_dossier[array_rand($tab_dossier)];

$max_width = 100;//maximum largeur acceptable
$max_height = 100;//maximum hauteur acceptable

list($width, $height) = getimagesize($img_aleatoire);
$ratioh = $max_height/$height;
$ratiow = $max_width/$width;
$ratio = min($ratioh, $ratiow);

$ratio = $ratio <= 1 ? $ratio : 1;// uniquement si l'on ne veut pas agrandir les photos de plus petites dimensions que $max_width ou $max_height

$width = intval($ratio*$width);
$height = intval($ratio*$height);

echo '<img src="'.$img_aleatoire.'" width="'.$width.'" height="'.$height.'" alt="image" />';
0
typiac Messages postés 92 Date d'inscription lundi 9 mai 2011 Statut Membre Dernière intervention 14 janvier 2015 1
3 janv. 2013 à 23:17
Ton problème venait des "#" qui transformaient la fin de tes lignes en commentaires...

N'oublies pas de mettre le message en résolu! ^^
0

Discussions similaires