Heim  >  Artikel  >  Backend-Entwicklung  >  Was tun, wenn PHP ftp_put fehlschlägt?

Was tun, wenn PHP ftp_put fehlschlägt?

藏色散人
藏色散人Original
2020-07-24 11:12:153414Durchsuche

Lösung für den PHP-ftp_put-Fehler: Öffnen Sie zuerst „Upload/Driver/Ftp.class.php“ und verwenden Sie dann die Methode „ftp_pasv($this->link,true);“ Schließlich laden Sie die Datei einfach erneut auf den Client hoch.

Was tun, wenn PHP ftp_put fehlschlägt?

Empfohlen: „PHP-Tutorial

PHP Upload FTP-Treiber ftp_put-Funktions-Upload-Fehlerproblem

2 Server, einer als FTP-Server und einer als Webserver.

Ich verwende die Upload-Klasse von thinkphp3.2 und den Upload-FTP-Treiber, aber jedes Mal wird angezeigt, dass das Speichern der Datei fehlgeschlagen ist.

Ich suche nach der Antwort. Ich habe sowohl asynchron als auch synchron getestet, aber keines davon funktioniert. Die Remote-Verzeichnisse /tmp/ und ftp haben auch 777-Berechtigungen.

Ich denke, PHP sollte später in den offiziellen Dokumenten einige Antworten gefunden haben, einschließlich des Erklärungsmodus

FTP-Server-Aktivmodus, FTP-Server-Passivmodus, ich verwende ftp_pasv($this-> ;link,true); Wechseln Sie in den Passivmodus und der Client kann Dateien reibungslos hochladen.

Hier ist die Lösung

Upload/Driver/Ftp.class.php Sava-Funktion

public function save($file, $replace=true) {
        $filename = $file['rootPath']. $file['savepath'] . $file['savename'];
        /* 不覆盖同名文件 */
        // if (!$replace && is_file($filename)) {
        //     $this->error = '存在同名文件' . $file['savename'];
        //     return false;
        // }
        ftp_pasv($this->link,true);
        ftp_pwd($this->link);
        $filename=$file['savename'];
        if (!ftp_put($this->link, $filename, $file['tmp_name'],FTP_ASCII)) {
            $this->error = '文件上传FTP错误!';
            return false;
        }
        return true;
    }

Das obige ist der detaillierte Inhalt vonWas tun, wenn PHP ftp_put fehlschlägt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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