php ftp_put-Upload schlägt fehl, weil der Server hinter einer Firewall platziert ist. Die Lösung besteht darin, den FTP-Passivmodus mit Code wie „ftp_put($conn,“target.rar“,local.rar“,FTP_BINARY,0) zu aktivieren. ;".
Empfehlung: „PHP-Video-Tutorial“
Der Client befindet sich hinter einer Firewall und ftp_put schlägt fehl, wenn PHP FTP zum Hochladen von Dateien verwendet
<?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"; ?>
Codebeschreibung:
Dieser Code verwendet das FTP-Protokoll im Hintergrund über den PHP-Server wird die lokale Datei „local.rar“ auf den Remote-FTP-Dateiserver hochgeladen und als „target.rar“ gespeichert. Das heißt, der PHP-Server fungiert als FTP-Client, um Dateien auf den FTP-Server hochzuladen...
Nach der Ausführung des obigen Codes ist ein Fehler aufgetreten. Die Fehlermeldung lautet wie folgt:
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
Fehlerursache:
Der Server Wird im Allgemeinen hinter einer Firewall platziert. Wenn also das FTP-Client-Programm die Firewall durchqueren muss, müssen Sie den passiven Modus aktivieren. Andernfalls erfolgt bei der Ausführung eines FTP-Befehls keine Reaktion, bis ein schwerwiegender Fehler mit der Bezeichnung „Zeitüberschreitung der maximalen Ausführungszeit“ auftritt. Dadurch wird das Programm beendet...
ftp_pasv($conn, true);
Lösung: Aktivieren Sie den passiven FTP-Modus. Der richtige Code lautet wie folgt:
<?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"; ?>
Das obige ist der detaillierte Inhalt vonWas tun, wenn der Upload von php ftp_put fehlschlägt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!