Lorsqu'un transfert de fichier FTP avec ftp_put échoue en PHP, est-ce dû à un mode FTP mal défini ?

Linda Hamilton
Libérer: 2024-10-23 21:16:02
original
974 Les gens l'ont consulté

When an FTP File Transfer with ftp_put Fails in PHP, Is It Caused by FTP Mode Improperly Set?

Dépannage de l'échec de ftp_put en PHP

Problème :

Lors de la tentative de téléchargement d'un fichier XML à un serveur FTP à l'aide de la fonction ftp_put en PHP, l'opération échoue et renvoie false.

Cause :

Une cause courante des échecs de ftp_put est que PHP utilise par défaut le mode FTP actif, qui est souvent incompatible avec de nombreux serveurs FTP en raison de restrictions de pare-feu ou de réseau. Le passage au mode passif résout généralement ce problème.

Solution :

Pour passer au mode passif en PHP, utilisez la fonction ftp_pasv après avoir établi une connexion FTP :

<code class="php">$connect = ftp_connect($ftp) or die("Unable to connect to host");
ftp_login($connect, $username, $pwd) or die("Authorization failed");

// Turn passive mode on
ftp_pasv($connect, true) or die("Unable to switch to passive mode");</code>
Copier après la connexion

Considérations supplémentaires :

  • Assurez-vous que la fonction ftp_login est appelée avant d'appeler ftp_pasv. Sinon, cela n'aura aucun effet.
  • Si le serveur FTP signale une adresse IP incorrecte en réponse à la commande PASV, pensez à utiliser l'option suivante :
<code class="php">ftp_set_option($connect, FTP_USEPASVADDRESS, false);</code>
Copier après la connexion
  • Notez que le passage en mode passif peut ne pas suffire si la configuration du serveur FTP ou les paramètres du pare-feu posent problème. Dans de tels cas, consultez l'administrateur du serveur pour déterminer la cause première et mettre en œuvre les correctifs nécessaires.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!