Parse error: syntax error, unexpected '}'
Résolu
juracitepark
Messages postés
71
Statut
Membre
-
typiac Messages postés 93 Statut Membre -
typiac Messages postés 93 Statut Membre -
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:
Pour infos:
-J'utilise Filezilla, en mode de transfert Binaire
-Mon hébergeur est amen.fr sous linux
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[] = $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[$random_img]);
//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[0] > $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[0]/$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[1]/$theight);
}
else
{
//Sinon on garde la taille originale
$width = $size[0]; $height = $size[1];
}
//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[$random_img]."\" onclick=\"window.open(this.href,'_blank');return false;\"><img style=\"border: none; width: ".$width."px; height: ".$height."px\" src=\"".$chem_img."/".$listef[$random_img]."\" alt=\"".$listef[$random_img]."\" /></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
A voir également:
- Parse error: syntax error, unexpected '}'
- Cmos checksum error ✓ - Forum Carte-mère/mémoire
- Error 1962 ✓ - Forum PC fixe
- Playback error reconnect in 3s (1/5) francais - Forum Box et Streaming vidéo
- Bad request error 403 paiement ✓ - Forum Réseaux sociaux
- A javascript error occurred in the main process - Forum Matériel & Système
2 réponses
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" />';