Bonjour, j'aimerais lister toutes les fiches cinéma qui ont des liens cassés (img) vers des url externes, cette fiche pour exemple :
http://www.transmettrelecinema.com/film/blow-up/

Je précise que ce site a été développé sous wordpress, l'extension "broken link cheker" ne me donne aucun résultat. J'ai également tenté une requête SQL, sans succès.

Cela concerne des centaines de fiches… Des idées ?
Salut

Par page, tu peux faire des scripts automatique qui "change" l'image si elle est cassé.

 jQuery('img').each(function() {
    if (!this.complete || typeof this.naturalWidth == "undefined" || this.naturalWidth == 0) {
      // l'image est cassé, la remplacé
      this.src = 'IMAGE_UNLOAD.PNG';
    }
  });


à partir de là, tu peux tout à fait listé les image cassé à la place de "remplacer"

Imaginons un truc comme ça :
jQuery('img').each(function() {
    if (!this.complete || typeof this.naturalWidth == "undefined" || this.naturalWidth == 0) {
       console.log(this.src);
    }
  });


ET là pour chaque page, tu as dans la console la liste des images cassé.
Modifié par JENCAL (06 Sep 2019 - 11:29)
Administrateur
Bonjour,

https://stackoverflow.com/questions/22051573/how-to-hide-image-broken-icon-using-only-css-html-without-js présente pas mal de méthodes pour styler des images non chargées et j'aime bien https://bitsofco.de/styling-broken-images/
Ceci dit le onerror te permettrait, à chaque fois qu'un visiteur tombe dessus, de te signaler en retour (via AJAX) l'URL où ça s'est passé (il faut peut-être exclure les bots, j'en sais rien). Au bout d'un petit moment tu auras la liste de toutes les URLs Smiley smile (et si la page n'a jamais été consultée bah tant pis hein, personne ne l'aura remarqué Smiley rolleyes ).

EDIT : ou bien tu extraies et listes TOUTES les références à une image présentes dans le contenu de ta BDD, tu en fais une belle page HTML (ou 10 ou 100 ça vaudra mieux) avec un script surveillant le non-chargement de chaque image et tu as ta liste.
Après faut la retrouver en BDD ce qui risque d'être fastidieux… Mieux vaut extraire image ET référence à l'endroit où elle est appelée Smiley ravi

Rappel du vendredÿ : le hotlinking çaÿmal
Modifié par Felipe (06 Sep 2019 - 16:59)
Bonjour,
J'ai un peut de mal à comprendre finalement quelle est vraiment la question car je penses que tout webmaster en herbe que je croises ici ou ailleurs, reçoit de ma part un très fort encouragement à s'inscrire (c'est gratuit bien sur) aux outils webmaster de google !
1) ils t'enverront tout les jours des mails signalant les liens cassés ... les détails sur la qualité du site vu par tout les médiats smartphones et autres,
2) ils te donneront tout les liens allants depuis sa création vers ton site
3) te mettrons a jour en permanence un moteur de recherche interne a ton site, sans pub et parfaitement au look de ton site avec un onglet lien vers tes pages et un onglet images... par exemple si tu vas ici tout en bas de la page et cherches photographe tu verra la qualité !
http://www.fox-infographie.com/wblog_fuir_le_bonheur_de_peur_qu_il_ne_se_sauve.phpBref les techniques modernes sont à votre service !
Modifié par Jean-Pierre-Bruneau (06 Sep 2019 - 18:47)
Pour ton sujet directement, je ferai un PHP qui ferait ceci:
1) la liste de tout les PHP et (ou) HTML ET CSS + JS
2) boucle de lecture de tout ces fichiers et recherche de tout les
src= ou URL= avec test if exist ==> suivant / si noon table qui sera réécrite dans un TXT !!

Voila c'est tout, tu le lances le soir et demain matin tu va lire ton TXT
(bien sur dés que lancé, il tourne tout seul sur le serveur.

AH !!!! OUI impossible sans lui laisser passer la nuit... le secret
en tête du php

<?php
/* ===========liste =======  */
ini_set("memory_limit", "1024M");

/* ==============et dans toutes tes boucles FOR > NEXT=== 
inséres juste  */
set_time_limit(10);
?>