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

Que faire si php ftp_put échoue

藏色散人
Libérer: 2023-03-03 08:50:01
original
3555 Les gens l'ont consulté

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