Classe de gestion ftp: problème de passage de valeur?

cs_spoutch Messages postés 10 Date d'inscription mercredi 27 août 2008 Statut Membre Dernière intervention 5 septembre 2013 - 12 janv. 2009 à 22:28
cs_spoutch Messages postés 10 Date d'inscription mercredi 27 août 2008 Statut Membre Dernière intervention 5 septembre 2013 - 13 janv. 2009 à 19:04
Bonjour tout le monde ou tout du moins a ceux qui daignerons lire mon poste ^^

Je travail en local sur le serveur Apache de wamp. A partir d'une source que l'on trouve aprament un peut partout, je me suis fait une petite classe php(ma première en php), rien de bien méchant: connexion, déconnexion, upload et suppression (pas besoin de download dans mon cas^^)

voici ma classe:

class MediaFTP {
    //_________________________PROPRIETEES_______________________________

    //info
    var $ftp_server;

    //connexion
    var $conn_id;
    var $login_result;

    //upload
    var $upload;
    var $source;
    var $destination;

    //_________________________CONSTRUCTEUR_______________________________
    function MediaFTP($srv, $user, $pass)
    {
        //info ftp
        $ftp_server= $srv;
        $ftp_user_name=$user;
        $ftp_user_pass=$pass;

    }

    //_________________________METHODES_______________________________

    //CONNEXION
    function connexion()
    {
        // Création de la connexion ftp
        $conn_id = ftp_connect($ftp_server);
        // Authentification avec nom de compte et mot de passe
        $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
        // Vérification de la connexion
        if ((!$conn_id) || (!$login_result))
        {
                echo "La connexion FTP a échoué!";
                echo "Tentative de connexion à ".$ftp_server ." avec ".$ftp_user_name;
                die;
        } else
        {
            echo "Connecté à ".$ftp_server."avec".$ftp_user_name;
        }
    }

    //DECONEXION
    function Deconnexion()
    {
        ftp_quit($conn_id);
    }

    //ENVOIE
    function envoyer($S, $D )
    {

        $source=$P  ;
        $destination=$D;

        //upload
        $upload=ftp_put($conn_id, $destination, $source, FTP_BINARY);

        //verification de lupload
        if (!$upload)
        {
            echo "lupload Ftp a échoué!";
        } else
        {
            echo "envoie de ".$source ." sur ".$ftp_server." à ".$destination;
        }

    }
}

et voici l'appel:

$FTP = new MediaFTP("ftp.60free.ovh.org","Moi","monMDP");
$FTP->connexion();
$FTP->envoyer($_FILES['Path']['tmp_name'],"www/files".$_FILES['Path']['name']);
$FTP->deconnexion();


lorceque je teste mon script et donc qu'il s'exécute, au boue des 30s magiques, il me dit:

Fatal error : Maximum execution time of 30 seconds exceeded in C:\Program Files\DEV\wamp\www\MeltingForce\Admin\MediaFTP.php on line 36


la ligne 36 étant: $conn_id = ftp_connect($ftp_server);

Je pense que le problème vien du passage de valeur du code apelant vers la classe, car si je rentre en dure les paramêtre de connexion directement dans la classe, il parvien a se connecter, et bute sur l'upload:

Warning: ftp_put() expects parameter 1 to be resource, null given in C:\Program Files\DEV\wamp\www\MeltingForce\Admin\MediaFTP.php on line 65

lupload Ftp a échoué!
Warning: ftp_quit() expects parameter 1 to be resource, null given in C:\Program Files\DEV\wamp\www\MeltingForce\Admin\MediaFTP.php on line 54

En effet, je n'est part contre pas rentrer les paramêtres de ftp_put directement dans la classe, et donc si je comprend bien se message, les parametres de ma fonction "envoyer" ne son pas récupéré...

Donc, ou que jmé trompé?

merci d'avance pour votre aide!

2 réponses

kohntark Messages postés 3706 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
13 janv. 2009 à 08:04
Salut,

//info ftp
$ftp_server=$srv;
$ftp_user_name=$user;
$ftp_user_pass=$pass;
=>
//info ftp
$this->ftp_server = $srv;
$this->ftp_user_name = $user;
$this->ftp_user_pass = $pass;

... et même chose pour pas mal d'autres attributs.

Cordialement,

Kohntark-
0
cs_spoutch Messages postés 10 Date d'inscription mercredi 27 août 2008 Statut Membre Dernière intervention 5 septembre 2013
13 janv. 2009 à 19:04
Mouarf, trop débile, j'aurai pue y pensé. Merci!!
0