davidc1 Posté 7 Décembre 2006 Posté 7 Décembre 2006 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.
cyberlaura Posté 7 Décembre 2006 Posté 7 Décembre 2006 (modifié) 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é 7 Décembre 2006 par cyberlaura
davidc1 Posté 7 Décembre 2006 Auteur Posté 7 Décembre 2006 file_exists c'est pour ce qui est en local je crois. j'ai essayé avec : <?phpfunction url_exists($url){ $handle = _AT_fopen($url, "r"); if ($handle === false) return false; fclose($handle); return true;}?> ça pénalise trop l'affichage.
cyberlaura Posté 8 Décembre 2006 Posté 8 Décembre 2006 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...
davidc1 Posté 8 Décembre 2006 Auteur Posté 8 Décembre 2006 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.
pureweb Posté 11 Décembre 2006 Posté 11 Décembre 2006 un cron qui tourne chaque nuit (3h du matin il n'y a quasiement personne en france) pour vérifier et mettre à jour la base de données.
xou Posté 11 Décembre 2006 Posté 11 Décembre 2006 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.
davidc1 Posté 11 Décembre 2006 Auteur Posté 11 Décembre 2006 Ce n'est peut être pas un problème de ressources mais plutôt d'attente du serveur distant car les images sont testées les unes après les autres.
xou Posté 11 Décembre 2006 Posté 11 Décembre 2006 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.
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant