nza2k Posté 30 Avril 2007 Posté 30 Avril 2007 Hello tout le monde, Je cherche à rédiger une fonction php dont le rôle serait le suivant : - Vérifier l'existence d'une image hébergée sur un serveur distant. - Si l'image existe, afficher cette image sur mon site. - Sinon, afficher une image par défaut (de type "image non disponible"). J'ai essayé en premier lieu de m'appuyer sur la fonction fopen(). Ca marche très bien la plupart du temps. Mais parfois, pour des raisons inconnues, le fopen() bloque l'execution du script, faute de réponse de l'image distante (il attend alors le time out php pour stopper son interrogation, c'est ce que j'ai compris...). J'ai essayé ensuite de m'appuyer sur la fonction fsockopen(), en paramétrant un temps limite de 1 ou 2 secondes... Ca ne marche pas, j'ai l'impression que des fichiers images (.gif ou .jpg) ne se prêtent pas bien à ce type d'interrogation et mon image par défaut (image non disponible) s'affiche constamment (ou quasi-constamment ?). Par contre, mon script, n'est jamais bloqué dans son exécution... Bref, peu importe la manière, voyez-vous une façon d'arriver à mes fins, sans prendre le risque de ralentir à l'excès le chargement de mes pages ? Merci pour votre aide !
f_trt Posté 30 Avril 2007 Posté 30 Avril 2007 Faire une système de cache avec ta première solution, j'imagine que tu n'as pas besoins pour chaque internaute de tester si l'image existe mais le faire par exemple seulement toutes les 10 minutes pas exemple ou tous les 100 internaute. A+
nza2k Posté 30 Avril 2007 Auteur Posté 30 Avril 2007 Merci pour ta réponse. Je n'ai encore jamais utilisé de cache... Mais il y a un début à tout Une question toutefois : que ça passe-t-il si le rafraichissement du cache intervient à un moment où les images (et le reste de la page) ne s'affichent pas (ou très lentement). => Le cache enregistre en mémoire du "vide" ?
Nanane Posté 30 Avril 2007 Posté 30 Avril 2007 (modifié) Je n'ai jamais joué avec les caches, mais que le serveur distant ne reponde pas parce qu'il est lent, ou parce qu'il n'existe plus, n'est pas "testable"; enfin je suppose Donc ton cache, si j'a jusque la bien écouté mes cours, se mettra a jour et indiquera que l'image n'existe plus, quelle que soit la raison du silence de la part du site distant. Mais je suis encore jeune et inexpérimenté alors mes avis sont peut être faux... Modifié 30 Avril 2007 par Nanane
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant