Heim > Backend-Entwicklung > PHP-Problem > Was tun, wenn der Upload von php ftp_put fehlschlägt?

Was tun, wenn der Upload von php ftp_put fehlschlägt?

藏色散人
Freigeben: 2023-03-04 22:44:01
Original
3447 Leute haben es durchsucht

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. ;".

Was tun, wenn der Upload von php ftp_put fehlschlägt?

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";
?>
Nach dem Login kopieren

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
Nach dem Login kopieren

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);
Nach dem Login kopieren

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";
?>
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage