[Résolu] Connaître le status d'une Balise IMG
19 messages • Page 1 sur 2 • 1, 2
Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics
[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 passionné

- Messages: 924
- Inscription: Lun Jan 14, 2008 12:14
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 passionné

- Messages: 924
- Inscription: Lun Jan 14, 2008 12:14
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] !
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;}
}
?>
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
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. ^^
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
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
Formation recommandée sur ce thème :
Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.
Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.
Lectures recommandées sur ce thème :
- Google Music Trends
- Aperçu des différents types de redirection
- Transfert de fichiers dans Google Talk
- Ecrire un sitemap pour Google News
- Les informations de la Google Toolbar
- Balises meta et référencement : les bases à savoir
- Résultats de l'enquête sur le marché du référencement
- Afficher le PageRank en entier dans Firefox (barre d'outils Google)
- Conseils d'optimisation de la balise TITLE (titre d'une page HTML)
- La balise meta NOYDIR de Yahoo
- 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.
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités




le forum