Aller au contenu

tester si une image est valide


davidc1

Sujets conseillés

Bonjour,

Je souhaiterais pouvoir tester si une image est valide avant de l'affichersur une page. Certains liens ne sont pas bons...

voir ici : -http://c-cher.com/auction/index.php?q=essai&idb=0

j'ai essayé avec getimagesize, mais ça ralentit vraiment le moteur (je dois afficher 30 images par page). quelle serait la manière la plus adéquate ?

je ne sais pas si c'est en php ou javascript,que la solution réside.

merci par avance,

David.

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

personnellement, j'utilise file_exists. Mais je ne connais pas sa rapidité, je n'affiche jamais énormément de photos sur une page...

Et il est vrai que ça me dit juste si elle existe, pas si elle est valide.

Modifié par cyberlaura
Lien vers le commentaire
Partager sur d’autres sites

file_exists c'est pour ce qui est en local je crois.

j'ai essayé avec :

<?php
function url_exists($url)
{
$handle = _AT_fopen($url, "r");
if ($handle === false)
return false;
fclose($handle);
return true;
}
?>

ça pénalise trop l'affichage.

Lien vers le commentaire
Partager sur d’autres sites

A mon avis, si vraiment c'est trop pénalisant, il faut peut-être penser à faire ce traitement soit de nuit ( en parcourant tous les articles et en mettant à jour un champ de la table - imageValide ), soit lors de l'insertion/modification dans la table - cette deuxième solution me semblant plus valable au vu du nombre d'articles...

Lien vers le commentaire
Partager sur d’autres sites

Oui cyberlaura, j'ai pensé à ça et je vais faire cette modif, mais si l'image n'est pas présente sur le serveur au moment de l'affichage de la recherche ça n'empêchera pas l'affichage de la petite croix rouge. donc ça ne fonctionnera pas dans 100% des cas.

Une autre solution consisterait à stocker en local les images.

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

En dehors de fopen il faudrait utiliser les librairies curl ou pear afin de jouer uniquement avec les entêtes, je n'ai pas encore testé mais à mon avis ca risquerait de demander moins de ressources. ;)

Lien vers le commentaire
Partager sur d’autres sites

Sauf que le fopen ouvre réellement le fichier et le stocke dans un répertoire temporaire, il me semble avoir lu sur une article sur HTTP_HEADERS (classe PEAR) qui soulignait le fait que l'on peut simplement tester la réponse sans stocker le fichier. J'avoue avoir parcouru vite fais l'article en question et je suis incapable de remettre la main dessus. Mais c'est pour cela que je t'en parle... je voulais faire des tests mais je n'ai pas eu le temps, donc je suis également intéressé par les résultats de ces tests si tu as le temps de tester. ;)

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...