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:
c
lass 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
54En 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!