Page 1 sur 1

img manquante !

Posté : 05 juin 2014, 16:01
par meuse5588
Bonjour

Désolé de poser cette question mais après avoir pas mal rechercher sur le forum je ne trouve pas de réponse à mon petit problème.

voila je m'explique, via php je charge une image dans une div, cependant le chemin est formé de variable.
quand je charge une image existante aucun problème, normal, mais quand je cherche a charger une image et que celle-ci est introuvable sur mon ftp, erreur, j'ai le petit icône pour me dire que l'image est manquante, je souhaiterai donc afficher une autre image de substitution toujours avec un "echo", j'ai testé avec une boucle IF mais rien, pourriez vous me donner un coup de main.

merci

voici le code :

Code : Tout sélectionner

<?php $subject = file_get_contents("../dossier/fichier.htm"); $pattern = '`<div class="titre">(.+)<br />(.+)<span class="song-titre">(.+)</span>`Uis'; preg_match($pattern, $subject, $matches); $a=$matches[1]; $s=$matches[3]; $a=preg_replace('/\s\s+/', '', $a); $t=$a.''.$s; ?> <?php echo ('<img src="http:/site/tdossier/'.$a.'.jpg" style="height:100px" />'); ?> </br> <?php echo $a.' </br> '.$s; ?>

Re: img manquante !

Posté : 05 juin 2014, 16:08
par Elie
$fichier = 'http:/site/tdossier/'.$a.'.jpg';
echo file_exists($fichier) ? '<img src="http:/site/tdossier/'.$a.'.jpg" style="height:100px" />' : '<img src="introuvable.jpg" /'>

Re: img manquante !

Posté : 05 juin 2014, 16:26
par meuse5588
je me suis dit youyou sur le moment mais maintenant seul l'imv de secoue s'affiche :(

Re: img manquante !

Posté : 05 juin 2014, 16:40
par Elie
Met :// dans l'url ?
Tu met une URL absolue ou juste le dossier de ton site ?

Re: img manquante !

Posté : 05 juin 2014, 16:53
par meuse5588
oui oui tkt j'avais ajouté les //

je mes Url absolu.
mais si je change le sens entre les 2 URL sa marche

Re: img manquante !

Posté : 05 juin 2014, 16:59
par Elie
Ca marche pas c'est pas logique :)

En gros je dis : si le fichier existe ? on l'afficher : on l'affiche pas.

La question est de savoir pourquoi le script ne trouve pas l'image.

Re: img manquante !

Posté : 05 juin 2014, 17:03
par meuse5588
je pense que c'est simplement qu'elle n'est pas sur le serveur.
le script est pour afficher la cover d'un album de musique, player en stream, je récupère le nom de l'artiste et le titre de l'album et affiche en conséquence l'image mais a certain moment, exemple pendant les flash info, il n'y a pas d'info artiste donc pas d'image et c'est la que je veux afficher l'image de secoure

Re: img manquante !

Posté : 05 juin 2014, 17:08
par meuse5588
j'ai testé avec :

$fichier = 'http:/site/tdossier/'.$a.'.jpg';
if(file_exists($fichier)){
echo ('<img src="http:/site/tdossier/'.$a.'.jpg" style="height:100px" />');}
else{
echo ('<img src="http:/site/tdossier/introuvable.jpg" style="height:100px" />');
}

mais sa marche pas non plus

Re: img manquante !

Posté : 05 juin 2014, 17:10
par Elie
Le code que je t'ai filé est la meme chose en simplifié.
Encore une fois sur tes 2 exemples, il manque les // dans l'url.

Peux-tu me mettre un exemple concret que l'on comprenne ?

Re: img manquante !

Posté : 05 juin 2014, 17:20
par meuse5588

<div class="Backplayer" style="background-image:url(http://www.directfm.fr/imageDirectFM/images/backplayer.png); height:298px; width:121px; left:91%; top:15%; z-index:99; position:fixed;">

<?php
$subject = file_get_contents("../radioshow/onair.htm");
$pattern = '`<div class="titre">(.+)<br />(.+)<span class="song-titre">(.+)</span>`Uis';

preg_match($pattern, $subject, $matches);
			
$a=$matches[1];
$s=$matches[3];	
$a=preg_replace('/\s\s+/', '', $a); 
$t=$a.''.$s;
?>


<div class="text" style="background-image:url(http://www.directfm.fr/imageDirectFM/images/backplayer.png); font-family:Arial, Helvetica, sans-serif; font-size:10px; color:#fff; font-weight:lighter; text-decoration:none; width:118px; height:141px; margin-top:-41px; z-index:999; position:fixed; text-align:center; padding-top:10px;">

<?php
/*echo ('<img src="http://directfm.fr/testimage/'.$a.'.jpg" style="height:100px" />');*/

$fichier = 'http://directfm.fr/testimage/'.$a.'.jpg';
echo file_exists($fichier) ? '<img src="http://directfm.fr/testimage/'.$a.'.jpg" style="height:100px" />' : '<img src="http://directfm.fr/testimage/ARTISTE INCONU.jpg" style="height:100px" />';


?> 
</br>
<?php
echo $a.' </br> '.$s;
?>

</div>


------- player flash



Re: img manquante !

Posté : 05 juin 2014, 17:21
par meuse5588

Re: img manquante !

Posté : 05 juin 2014, 17:33
par Elie
Je vois que $a = "ANASTACIA".
L'image http://directfm.fr/testimage/ANASTACIA.jpg existe bien ...
C'est chelou que le code ne marche pas !

Je serais toi, je ne mettrais pas de chemin absolue a part si cette page peut-être inséré sur d'autre site.

Je ferais un truc du genre
<?php
$basehref = 'http://directfm.fr/';
$fichier = 'testimage/'.$a.'.jpg';
echo file_exists('../'.$fichier) ? '<img src="'.$basehref.$fichier.'" style="height:100px" />' : '<img src="'.$basehref.'/testimage/ARTISTE INCONU.jpg" style="height:100px" />'; // Il faut rajouter ../ si cette page est dans un autre dossier que l'image
?>
Ne fais pas juste un simple copier-coller de ce que j'écris, essaye de comprendre ma logique et de l'adapter en fonction de tes dossiers.

Re: img manquante !

Posté : 06 juin 2014, 10:29
par meuse5588
merci :)