Affichage conditionnel image php 5

Résolu
Sebas22 Messages postés 110 Date d'inscription   Statut Membre Dernière intervention   -  
Sebas22 Messages postés 110 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
Je débute en php et je cherche à faire quelque chose de simple, mais j'ai un message d'erreur
D'abord le code de ma page contient un include d'un fichier txt (je suis obligé).
Dans ce fichier txt, il y a mes instructions qui visent à vérifier si une image précise figure dans un répertoire et alors de l'afficher ou sinon d'afficher une image transparente (c'est-à-dire pas d'image).
J'ai écrit le code suivant, mais çà cloche :
<?php $filename = '/image_home_4_3/Pic-xxx-331-247.jpg';if (file_exists($filename)) {<img class="imgome" border="0" src="image_home_4_3/Pic-xxx-331-247.jpg" alt="légende" title="xxx">;} else {<img class="imgome" border="0" src="image_home_stamp/Pic-transparence-1-1.gif" alt="légende" title="transparence" width="95%">;}?>

Je me suis demandé si avant "<img class" je devais ajouter @fopen mais cela ne marche pas plus.
Ce petit test pourra intéresser d'autres personnes car il permet, en cas d'oubli, d'éviter l'affichage de l'image brisée dans IE.
Merci de votre aide


A voir également:

2 réponses

Holomark Messages postés 16 Date d'inscription   Statut Membre Dernière intervention   2
 
Tu mélange le PHP et le HTML,, ça peut pas passer, voici deux versions syntaxiquement correctes de ton code :

<?php
$filename = '/image_home_4_3/Pic-xxx-331-247.jpg';
if (file_exists($filename)) {
echo 'class="imgome" border="0" src="image_home_4_3/Pic-xxx-331-247.jpg" alt="légende" title="xxx">';
} else {
echo '<img class="imgome" border="0" src="image_home_stamp/Pic-transparence-1-1.gif" alt="légende" title="transparence" width="95%">';
}
?>

<?php $filename = '/image_home_4_3/Pic-xxx-331-247.jpg'; ?>
<?php if (file_exists($filename)) : ?>
    <img class="imgome" border="0" src="image_home_4_3/Pic-xxx-331-247.jpg" alt="légende" title="xxx">;    
<?php else : ?>
    <img class="imgome" border="0" src="image_home_stamp/Pic-transparence-1-1.gif" alt="légende" title="transparence" width="95%">        
<?php endif; ?>


Voir cette page de la doc sur la deuxième version de la syntaxe:
https://www.php.net/manual/fr/control-structures.alternative-syntax.php
0
Sebas22 Messages postés 110 Date d'inscription   Statut Membre Dernière intervention   5
 
Bonjour Holomark

Merci beaucoup.
D'abord il y a eu un petit souci, il manquait <img après echo, vite corrigé.
Puis autre chose plus duraille, je m'étais trompé avec un slash inutile dans le filename.
Voici le bon code pour les membres intéressés.

<?php
$filename = 'image_home_4_3/Pic-xxx-331-247.jpg';
if (file_exists($filename)) {
echo '<img class="imgome" border="0" src="image_home_4_3/Pic-xxx-331-247.jpg" alt="légende" title="xxx">';
} else {
echo '<img class="imgome" border="0" src="image_home_stamp/Pic-transparence-1-1.gif" alt="légende" title="transparence" width="95%">';
}
?>
Donc résolu et encore merci pour ton aide
Sebas
0