[Résolu] Connaître le status d'une Balise IMG
19 messages
• Page 1 sur 2 • 1, 2
-

mod12 - Nouveau WRInaute

- Messages: 6
- Inscription: 8 Déc 2008
[Résolu] Connaître le status d'une Balise IMG
Salut tout le monde,
Je cherche un moyen de tester le status d'une balise IMG, j'imagine que cela doit être possible par JavaScript / Ajax.
En fait, mon link dans SRC est généré dynamiquement. Il arrive parfois qu'il est erroné (je n'y peut rien, aucun moyen de le tester). Je voudrais pouvoir tester le state de l'image pour aussi mettre une image par défault si mon link est erroné et donne une image avec un X rouge.
Vous connaissez une solution?
Merci beaucoup.
Je cherche un moyen de tester le status d'une balise IMG, j'imagine que cela doit être possible par JavaScript / Ajax.
En fait, mon link dans SRC est généré dynamiquement. Il arrive parfois qu'il est erroné (je n'y peut rien, aucun moyen de le tester). Je voudrais pouvoir tester le state de l'image pour aussi mettre une image par défault si mon link est erroné et donne une image avec un X rouge.
Vous connaissez une solution?
Merci beaucoup.
Dernière édition par mod12 le Mar Déc 09, 2008 3:53, édité 1 fois.
-

screuscreu - WRInaute impliqué

- Messages: 968
- Inscription: 14 Jan 2008
Je suppose que ton src est généré en PHP ...
Pourquoi de pas essayer un FILE_EXIST ?
http://us.php.net/function.file-exists
Pourquoi de pas essayer un FILE_EXIST ?
http://us.php.net/function.file-exists
-

screuscreu - WRInaute impliqué

- Messages: 968
- Inscription: 14 Jan 2008
mod12 a écrit:Mon lien est bel et bien généré en PHP, mais il n'est pas sur mon serveur.
Il pointe vers un site distant, donc je ne crois pas que le file_exist peut s'appliquer.
Je me trompe peut-être?
Tu as essayé au moins ?
RiPSO a écrit:t'as essayé avec fopen?
Après une lecture rapide de la doc, les devraient marcher
merci de nous dire quelle solution tu as appliqué et marquer le sujet [Résolu] !
-

KOogar - WRInaute accro

- Messages: 3974
- Inscription: 16 Nov 2004
fopen est parfait pour verifier l'existance de fichiers sur des serveurs distants:
- Code: Tout sélectionner
<?php
function check_fichier_existe($nomfile) {
$fp = @fopen($nomfile);
if(!$fp) return false;
else {
fclose($fp);
return true;}
}
?>
-

NxtGen - WRInaute impliqué

- Messages: 762
- Inscription: 24 Oct 2006
tu peux aussi récuperer les headers de l'url générée, si c'est 404, c'est que c'est pas bon
Avec php5 : http://fr3.php.net/get_headers
Sinon : http://www.webrankinfo.com/forums/viewtopic_23366.htm
Avec php5 : http://fr3.php.net/get_headers
Sinon : http://www.webrankinfo.com/forums/viewtopic_23366.htm
-

mod12 - Nouveau WRInaute

- Messages: 6
- Inscription: 8 Déc 2008
NxtGen u Got it.
Merci tout le monde quand même pour votre aide.
Le fOpen, marchait en local (avec fOpen ON et display_errors (On ou off))
Par contre sur mon serveur Hostpapa il ne fonctionnait pas (fOpen ON et display_errors off).
Je ne vois pas pourquoi car mes deux configurations étaient donc semblables.
Solution:
*Il est bien important de mettre print_r à true sinon on ne peut pas storer l'info dans la variable $info il print directement.
Thx guys, beaucoup de réponses en peu de temps
edit: ah by the way, nop file_exist ne fonctionnait pas non plus. ^^
Merci tout le monde quand même pour votre aide.
Le fOpen, marchait en local (avec fOpen ON et display_errors (On ou off))
Par contre sur mon serveur Hostpapa il ne fonctionnait pas (fOpen ON et display_errors off).
Je ne vois pas pourquoi car mes deux configurations étaient donc semblables.
Solution:
- Code: Tout sélectionner
$info = print_r(get_headers($imgUrl), true);
$pos = strpos($info, "404");
if(strlen($pos) > 0) {
echo "<img src='images/noimg.jpg' />";
}else{
echo "<img src='".$imgUrl."' /> ";
}
*Il est bien important de mettre print_r à true sinon on ne peut pas storer l'info dans la variable $info il print directement.
Thx guys, beaucoup de réponses en peu de temps
edit: ah by the way, nop file_exist ne fonctionnait pas non plus. ^^
-

NxtGen - WRInaute impliqué

- Messages: 762
- Inscription: 24 Oct 2006
Je comprend pas trop l'utilisation de print_r() ici...
En reprenant ton code, j'aurais fais un truc comme ca moi :
Parce que la le risque avec ton code, c'est que si il y a "404" affiché quelque part dans le resultat de get_headers(), Content-Length: 404 par exemple, ce qui n'est pas impossible, ca va afficher l'image noimg.jpg alors que l'image sur le serveur distant existe peut etre quand meme, tu vois ce que je veux dire ?
En utilisant $info[0], qui d'apres php.net retourne simplement le status de la page (200, 404, etc), tu limite vachement le risque d'erreur
En reprenant ton code, j'aurais fais un truc comme ca moi :
- Code: Tout sélectionner
$info = get_headers($url);
if ( eregi('404', $info[0]) ) {
echo "<img src='images/noimg.jpg' />";
}
else {
echo "<img src='".$imgUrl."' /> ";
}
Parce que la le risque avec ton code, c'est que si il y a "404" affiché quelque part dans le resultat de get_headers(), Content-Length: 404 par exemple, ce qui n'est pas impossible, ca va afficher l'image noimg.jpg alors que l'image sur le serveur distant existe peut etre quand meme, tu vois ce que je veux dire ?
En utilisant $info[0], qui d'apres php.net retourne simplement le status de la page (200, 404, etc), tu limite vachement le risque d'erreur
-

RiPSO - WRInaute passionné

- Messages: 1591
- Inscription: 4 Oct 2007
mod12 a écrit:Le fOpen, marchait en local (avec fOpen ON et display_errors (On ou off))
Par contre sur mon serveur Hostpapa il ne fonctionnait pas (fOpen ON et display_errors off).
Je ne vois pas pourquoi car mes deux configurations étaient donc semblables.
T'as vérifié ton allow_url_fopen dans le php.ini?
19 messages
• Page 1 sur 2 • 1, 2
Lectures recommandées sur ce thème :
- preg_match_all et balise img
- bonne ecriture de la balise img
- suppression balise <img et contenu
- Balise IMG et mots clés
- Test T5.1: indexation du ALT de la balise IMG
- [phpBB] Référencement des images linkées via la balise [img]
- Test T5.2 : indexation ALT de balise IMG dans lien
- [Résolu] Status de différents serveurs
- [résolu] Répértoire 'virtuel' et rép. img/ fixe
- difference entre les atributs ALT et TITLE d'une balise IMG?
- Indice de densité
Cet outil vous permet de calculer l'indice de densité d'un mot-clé d'une page web. Il est calculé à la fois pour la balise TITLE, la balise META description et l'ensemble du texte de la page. - Analyseur d'entête HTTP
Cet outil vous permet de connaître le code HTTP renvoyé par le serveur pour une page donnée. - Déterminer l'âge d'un site
Cet outil vous permet de connaître une estimation de l'ancienneté d'un site : il fournit la date à laquelle Google l'a indexé la première fois (et la même chose pour archive.org).
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité
