link,true);" pour enfin re-télécharger le fichier ; le client peut."/> link,true);" pour enfin re-télécharger le fichier ; le client peut.">

Maison >développement back-end >Problème PHP >Que faire si php ftp_put échoue

Que faire si php ftp_put échoue

藏色散人
藏色散人original
2020-07-24 11:12:153552parcourir

Solution à l'échec de php ftp_put : ouvrez d'abord "Upload/Driver/Ftp.class.php" ; puis utilisez la méthode "ftp_pasv($this->link,true);" enfin, il suffit de recharger le fichier sur le client.

Que faire si php ftp_put échoue

Recommandé : "Tutoriel PHP"

Problème d'échec de téléchargement du pilote FTP du pilote FTP ftp_put

2 serveurs, un comme serveur ftp et un comme serveur web.

J'utilise la classe Upload de thinkphp3.2 et le pilote FTP de téléchargement, mais à chaque fois, il indique que l'enregistrement du fichier a échoué.

Je cherche la réponse. J'ai testé à la fois asynchrone et synchrone, mais aucun ne fonctionne. Les répertoires distants /tmp/ et ftp ont également 777 autorisations.

Thinkphp devrait être très mature. J'ai trouvé quelques réponses dans les documents officiels plus tard, y compris le mode explication

mode actif du serveur ftp, mode passif du serveur ftp, j'utilise ftp_pasv($this-> ;link,true); Passez en mode passif et le client peut télécharger des fichiers en douceur.

Voici la solution

Fonction sava Upload/Driver/Ftp.class.php

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;
    }

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!

Déclaration:
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