Tester l'existance d'un fichier situé sur un répertoire monté - PHP - Programmation
Marsh Posté le 19-12-2008 à 11:11:22
bon, avec Snoopy, j'ai progressé et ça marche a priori comme je veux, sauf que ma base ayant plusieurs milliers d'enregistrements, le script plante avec un message d'erreur relatif à de l'allocation mémoire
[size=0]Fatal error: Allowed memory size of 67108864 bytes exhausted (tried to allocate 500001 bytes)[/size]
Marsh Posté le 19-12-2008 à 12:30:47
FlorentG a écrit : Bah augmente le memory_limit |
Pas forcement il lui dis qu'il peut pas allouer un espace ridicule alors qu'il ne dépasse pas la limite cela doit venir d'autre chose une mauvaise utilisation
Marsh Posté le 19-12-2008 à 13:04:43
En gros, je fais
Code :
|
la ligne qui plante est une ligne qui contient un fread() dans la lib Snoopy. En fait, je pense pas que ça soit dû à mon while qui aurait trop d'enregistrements à parcourir mais au fait que la lib Snoopy ouvre et charge en mémoire à chaque fois le contenu du fichier dont je veux tester l'existence.
Marsh Posté le 19-12-2008 à 13:05:29
j'ai essayé aussi en mettant le new et le unset à l'intérieur du while, j'ai le même pb.
Marsh Posté le 19-12-2008 à 14:10:38
J'ai trouvé un script pas mal qui est bien plus rapide et qui n'a pas de pb de mémoire :
Code :
|
Marsh Posté le 19-12-2008 à 10:11:41
Bonjour,
Sur un serveur sous Linux, j'ai une appli web en PHP qui, entre autre, gère des fiches documentaires dans une BD MySQL. L'un des champs de chaque fiche contient le chemin du fichier sous la forme http://NomDuServeur/NomRépertoireMonté/Chemin.../NomFichier.ext où NomRépertoireMonté correspond à un répertoire situé sur un autre serveur (Windows) qui a été monté sur le serveur via Samba.
Je voudrais faire un script qui vérifie que le fichier existe bien sur ce répertoire monté, afin de détecter les liens morts. J'ai essayé avec :
1) file_exists() mais ça me dit à chaque fois que le fichier n'existe pas alors que ce n'est pas vrai,
2) fopen() et dans le php.ini, allow_url_fopen = on et Registered PHP Streams = php, file, data, http, ftp, mais j'ai un message d'erreur comme quoi il: n'arrive pas à ouvrir le flux http,
3) la lib Snoopy, ça marche en partie mais que pour détecter des chemins vraiment foireux (qui ne commencent pas par http, par ex)
Auriez vous une explication de pourquoi fopen ne marche pas alors que ça devrait? 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