Précédent   Forum des professionnels en informatique > PHP > Langage > Fichiers
Fichiers Forum d'entraide sur les fichiers avec PHP. Avant de poster -> FAQ fichiers et Sources fichiers
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 25/02/2007, 19h03   #1
Invité de passage
 
Inscription : février 2007
Messages : 3
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 3
Points : 1
Points : 1
Par défaut [FTP] Statut d'un serveur FTP

Bonjour,
Je suis novice dans le PHP, et j'aimerai afficher l'etat de mon serveur FTP sur une page HTML. Voici le script en question :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
$ftp_server="ip_du_serveur";
$ftp_user_name="test";
$ftp_user_pass="ok";
$conn_id = ftp_connect($ftp_server);
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
if ((!$conn_id) OR (!$login_result))
    {
    echo "<font color=red><b><blink>Offline";
    }
else
    {
    echo "<font color=#00FF00>Online";
    } 
?>
Voici le probleme : Lorsque le serveur est online, tout va bien, le script renvoit bien "Online", meme si la reponse est plutot longue a arriver (15s). Par contre, des qu'il est offline, le script ne renvoit rien du tout la plupart du temps, ou parfois :
Citation:
"Warning: ftp_login() expects parameter 1 to be resource, boolean given in /www/110mb.com/s/t/o/u/f/_/_/_/stouf/htdocs/scripts/FTP/ftp2.php on line 24"
avec le "Offline" en rouge clignotant au bout du message d'erreur (note : la ligne 24 annoncée correspond en fait a la ligne 6 du script ci dessus, j'ai quelques lignes de code sans importance en début de page.

J'aimerai savoir ce que j'ai mal fait ou oublié,
Merci beaucoup
xStouf est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/02/2007, 19h45   #2
Membre chevronné
 
Inscription : janvier 2005
Messages : 711
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 711
Points : 671
Points : 671
c'est logique, si la connection ne se fait pas correctement a cette ligne :
Code :
1
2
 
$conn_id = ftp_connect($ftp_server);
alors cette ligne ci :

Code :
1
2
 
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
va renvoyer une erreur car $conn_id n'aura pas une valeur correcte. a priori, tu n'as pas besoin de te logguer pour savoir si le serveur est online, si la cnnection reussit tu sais deja que c'est bon !! si tu te contente de tester uniqueent si la connection fonctionne, la reponse sera plus rapide, et tu n'aras plus ton erreur

[edit]

du coup, je pense qu'on peut ramener ton code a ceci :
Code :
1
2
3
4
5
6
7
8
9
 
<?php 
$ftp_server="ip_du_serveur";
if (!ftp_connect($ftp_server))  {
  echo "<font color=red><b><blink>Offline"; 
} else  {
  echo "<font color=#00FF00>Online";
} 
?>
jobherzt est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/02/2007, 21h09   #3
Invité de passage
 
Inscription : février 2007
Messages : 3
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 3
Points : 1
Points : 1
Héhé, en effet, c'est une excellente remarque.

Je viens de tester ton code, lorsque le FTP est online, aucun probleme, le statut "online" s'affiche au bout de 2 secondes environ.
Par contre, des que le serveur est offline, le script pédale dans la semoule, mais finit par donner "offline", apres 2 bonnes minutes.
Y'aurait-il moyen d'inclure un timeout ou quelque chose dans ce genre pour accelerer l'affichage du statut offline ?
xStouf est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/02/2007, 21h15   #4
Membre Expert
 
Inscription : janvier 2007
Messages : 1 452
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : janvier 2007
Messages : 1 452
Points : 1 914
Points : 1 914
C'est inclut dans la signature de la fonction cf la doc ===> http://www.php.net/ftp_connect

Citation:
Envoyé par php.net
tp_connect

(PHP 4, PHP 5)

ftp_connect — Ouvre une connexion FTP
Description
resource ftp_connect ( string host [, int port [, int timeout]] )

ftp_connect() ouvre une connexion FTP avec l'hôte host.
Liste de paramètres

host

L'adresse du serveur FTP. Ce paramètre ne doit jamais avoir de slash final et ne doit pas être préfixé par ftp://.
port

Ce paramètre spécifie un numéro de port alternatif pour la connexion. S'il est omis ou définie à zéro, alors le port par défaut utilisé sera 21.
timeout

Ce paramètre spécifie le délai de connexion pour toutes les opérations de sous séquences du réseau. S'il est omis, la valeur par défaut sera 90 secondes. Le délai de connexion peut être modifié et interrogé à n'importe quel moment avec les moments ftp_set_option() et ftp_get_option().

Valeurs de retour

Retourne un flux FTP en cas de succès, ou FALSE si une erreur survient.
bye
kaymak est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/02/2007, 21h31   #5
Invité de passage
 
Inscription : février 2007
Messages : 3
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 3
Points : 1
Points : 1
Impec, merci beaucoup
xStouf est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h31.


 
 
 
 
Partenaires

Hébergement Web