Maison > développement back-end > Problème PHP > Que faire si le téléchargement de php ftp_put échoue

Que faire si le téléchargement de php ftp_put échoue

藏色散人
Libérer: 2023-03-04 22:44:01
original
3449 Les gens l'ont consulté

Le téléchargement de php ftp_put échoue car le serveur est derrière un pare-feu. La solution est d'activer le mode passif FTP, avec un code tel que "ftp_put($conn,"target.rar","local.rar",FTP_BINARY). ,0 );".

Que faire si le téléchargement de php ftp_put échoue

Recommandé : "Tutoriel vidéo PHP"

Le client est derrière le pare-feu et PHP utilise FTP pour télécharger fichiers lorsque ftp_put Failure

<?php
$conn = ftp_connect("ftp.bacysoft.cn") or die("Could not connect");
ftp_login($conn,"test","test1234");
ftp_put($conn,"target.rar","local.rar",FTP_BINARY,0);
ftp_close($conn);
echo "done";
?>
Copier après la connexion

Description du code :

Ce code utilise le protocole FTP en arrière-plan via le serveur PHP pour télécharger le fichier local "local.rar" sur le serveur de fichiers FTP distant et enregistrez-le sous "target.rar". Autrement dit, le serveur PHP agit comme un client FTP pour télécharger des fichiers sur le serveur FTP...

Une erreur s'est produite après l'exécution du code ci-dessus. Le message d'erreur est le suivant :

Warning: ftp_put() [function.ftp-put]: Opening BINARY mode data connection for target.rar. in E:\wwwroot\bacysoft\wwwroot\test\temp.php on line 4
 
Fatal error: Maximum execution time of 60 seconds exceeded in E:\wwwroot\bacysoft\wwwroot\test\temp.php on line 5
Copier après la connexion
<🎜. >La raison de l'erreur :

Le serveur est généralement placé derrière le pare-feu, donc si le programme client FTP doit traverser le pare-feu, il doit activer le mode passif. Sinon, il n'y aura pas de réponse. exécuter n'importe quelle commande ftp jusqu'à ce qu'une erreur fatale de "délai d'exécution maximum" se produise, provoquant la fin du programme...

ftp_pasv($conn, true);
Copier après la connexion

Solution : Activez le mode passif FTP, le code correct est le suivant :

<?php
$conn = ftp_connect("ftp.bacysoft.cn") or die("Could not connect");
ftp_login($conn,"test","test1234");
ftp_pasv($conn, true);
ftp_put($conn,"target.rar","local.rar",FTP_BINARY,0);
ftp_close($conn);
echo "done";
?>
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal