Tester l'existance d'un fichier sur un montage - PHP - Programmation
Marsh Posté le 16-07-2010 à 15:39:12
On va dire parce que je suis un âne
Mais bon, ça va pas résoudre mon pb. C'est pas ma fonction qui merde, je me suis rendu compte en poussant les tests que ce certaines urls que je donne à ma fonction qui merdent. Quand je les mets dans Firefox, il mouline 30 secondes et puis rien : pas de msg d'erreur, rien
Une url, elle amrche ou pas, mais elle est pas censée mettre 30s pour se décider
Marsh Posté le 16-07-2010 à 15:45:54
si justement, le serveur peu être long a répondre donc le client attend jusqu'à ce qu'il excède le temps max,
tu peu réduire le temps (2sec par exemple) mais bon tu saura pas vraiement si il a été long a répondre ou si il n'existe pas
Marsh Posté le 16-07-2010 à 15:58:47
Comment je peux réduire le temps? Parce qu'avec fsockopen(), le paramètre timeout n'a aucun effet
Marsh Posté le 16-07-2010 à 17:02:10
j'ai essayé avec get_headers(), mais j'arrive pas à systématiquement à discriminer des url ok et des NOK. Des fois, j'ai un code 200 OK pour des urls qui moulinent pendant 30s et où je n'arrive pas à avoir accès au contenu
Et après d'autres tests, ma fonction ne mouline plus sur des urls où elle devrait alors que j'ai touché à rien Je comprends plus rien
EDIT : J'ai regardé du côté de stream_set_timeout() et stream_get_meta_data(), mais rien de concluant.
Marsh Posté le 16-07-2010 à 22:23:00
J'ai eu un problème similaire il y a quelques jours, j'avais une boucle infinie (ta ligne 38).
C'est un problème connu de feof et fsockopen http://php.net/manual/fr/function.feof.php
Peut-être que ton problème vient de là également?
Marsh Posté le 19-07-2010 à 09:32:30
merci pour l'info, je vais regarder ça. Mais ce qui me trouble comme dit dans mon précédent post, c'est que des url sur lesquelles ma fonction mettait 3 plombes, 1h après, ça ne le faisait plus
Marsh Posté le 19-07-2010 à 10:12:25
Bon, en fait, c'était bien un pb de conf du côté du serveur sur lequel je vérifiait l'existence de certaines urls.
Mais bon, ce topic aura pas été inutile, j'aurai découvert get_headers() et que feof() avait un bug et qu'il existait une solution, ça pourra toujours resservir
Merci du coup de main en tout cas
Marsh Posté le 16-07-2010 à 14:20:36
Bonjour,
Dans le cadre de mon appli web Astres(cf signature), j'ai besoin de tester l'existence de fichiers situés sur un montage samba ou d'url. J'ai trouvé une méthode qui marche pour les 2 :
Ca marche bien sauf que des fois, la fonction bloque pendant 3 plombes et j'ai beau jouer sur le paramètre de timeout (ici, il est à 20s, j'ai testé avec 1s voire 0.1s), ça ne change rien
Du coup, est-ce que vous connaitriez une autre façon de procéder?
Merci
---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta