Je me connecte à un serveur ftp sur lequel je n'ai aucun contrôle, et je suis certain que j'utilise quelque chose de vieux et obsolète en raison d'autres problèmes que j'ai rencontrés. J'utilise simplement ce code dans une boucle pour obtenir tous les fichiers dans un répertoire.PHP - ftp_get ne fonctionne qu'une seule fois
ftp_get($this->conn_id, $remote, $local, FTP_ASCII);
La première fois que tout va bien, mais après que je reçois cette erreur renvoyée pour chaque fichier que j'essaie d'obtenir: « Il existe déjà une transaction active »
J'ai essayé à la fois & actif passif , ainsi qu'un nonblocking sans chance. C'est exactement le même code que j'utilise pour me connecter à d'autres serveurs FTP et obtenir des fichiers sans problème.
modifier: Étrangement, la fermeture de la connexion, dormir 3 secondes, et la création d'une nouvelle connexion entre obtenir chacun donne les mêmes résultats ...
EDIT: Résolu. Il s'avère que malgré les erreurs, les fichiers sont toujours en cours. Le bloc catch ratait juste l'erreur, donc je ne m'en suis pas rendu compte. Je vais juste ignorer cette erreur.
Le titre de votre question se rapporte à obtenir, tandis que votre corps de la question se réfère à mettre. Lequel a raison? –
Obtenez, désolé. Fixé. –