Etat d'un serveur ftp...

Etat d'un serveur ftp... - Stockage/Sauvegarde - Windows & Software

Marsh Posté le 06-03-2003 à 12:05:58    

Salut à tous....
 
J'ai créé il y a quelques jour un serveur FTP sur mon ordi...et je souhaiterai intégré dans mon site un script ou qqch du genre qui affiche l'état de mon serveur...Je m'explique :
 
Mon serveur est sous iis 5 ou 6 je sais plus exactement
J'ai une ip fixe
je souhaite que le script liste le contenu du ftp s'il est actif et dise qu'il est éteint sinon
je souhaite aussi que cela se fasse dès le chargement de la page web....
 
Le serveur FTP en question : ftp://81.56.215.118
 
Est-ce possible ?
si oui comment...
 
Merci d'avance...


Message édité par bagu le 06-03-2003 à 12:06:58
Reply

Marsh Posté le 06-03-2003 à 12:05:58   

Reply

Marsh Posté le 06-03-2003 à 12:08:13    

ouais c'est faisable, mais comment, c'est une bonne question.
Il y a tout un tas de scripts pour IIS installé dans le sous repertoire scripts, et dedans, je suis sur qu'il y en a un pour verifier l'etat du service !
pour la liste des repertoires/fichier, en vbs c'est aussi tres simple


---------------
"Ne jamais faire confiance à un truc qui peut saigner 4-5 jours par mois sans crever !"
Reply

Marsh Posté le 06-03-2003 à 12:10:33    

voui...mais la c un script a intégré sur une page web...histoire que si je suis hors-ligne, les surfers ne tombent pas sur une grosse erreur  :sweat:

Reply

Marsh Posté le 06-03-2003 à 12:12:24    

vbs ca s'integre tres bien a une page html avec un peu d'asp...
j'aurais le tmeps je te l'aurais fais mais la pas trop désolé :/


---------------
"Ne jamais faire confiance à un truc qui peut saigner 4-5 jours par mois sans crever !"
Reply

Marsh Posté le 06-03-2003 à 13:05:37    

y'a personne ki peux me faire ca ?

Reply

Marsh Posté le 06-03-2003 à 13:24:58    

pour connaitre l'état d'un serveur (http ou ftp)
regarde du côté de ce script
 
http://www.schwebdesigns.com/serverstatus/

Reply

Marsh Posté le 06-03-2003 à 14:23:09    

s'marche paaaaaaaaaaaasss  :cry: c comme si le résultat du script n'était pas renvoyé !!!

Reply

Marsh Posté le 06-03-2003 à 14:44:42    

tu as mis ton script où, tu as bien paramétré les fichiers ?

Reply

Marsh Posté le 06-03-2003 à 14:55:36    

Code :
  1. <?php
  2. //Web Server Status v 1.2, Copyright 2002 By Ryan Schwiebert, visit http://www.schwebdesigns.com/
  3. //This script may be freely distributed providing all copyright headers are kept intact.  
  4. //Concept from:
  5. //Abax Server Status v1.04, Copyright 2002 By Nathan Dickman, visit http://www.NathanDickman.com/
  6. //Location of the live or dead server images
  7. //Please change to your server specifications
  8. $live = "..\live.gif";
  9. $dead = "..\dead.gif";
  10. //The status checking script
  11. //meddle at your own risk!
  12. //check for port number, default is 80
  13. list($addr,$port)= explode (':',"$link" );
  14. if (empty($port)){
  15. $port = 21;
  16. }
  17. //Test the server connection
  18. $churl = @fsockopen(server($addr), $port, $errno, $errstr, 20);
  19.              if (!$churl){
  20.                 header("Location: $dead" );
  21.                 }
  22.              else {
  23.                 header("Location: $live" );           
  24.    }
  25. function server($addr){
  26.          if(strstr($addr,"/" )){$addr = substr($addr, 0, strpos($addr, "/" ));}
  27.          return $addr;
  28. }
  29. ?>


 

Code :
  1. <html>
  2. <head>
  3. <title>Web Server Status</title>
  4. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  5. </head>
  6. <body bgcolor="#FFFFFF">
  7. <table border="0" cellspacing="0" cellpadding="3">
  8.     <td width="77%"><font face="Arial, Helvetica, sans-serif" size="2">Serveur FTP</font></td>
  9.     <td width="23%"><img src="status.php?link=ftp://81.56.215.118" width="37" height="20"></td>
  10. </table>
  11. </body>
  12. </html>


 
et les fichiers dead et live dans le meme rep que le reste : http://bagupremier.free.fr/status/test.html

Reply

Marsh Posté le 06-03-2003 à 14:58:00    

chemin de tes images :
 
  $live = "..\live.gif";
  $dead = "..\dead.gif";
 
met
 
  $live = "./live.gif";
  $dead = "./dead.gif";


Message édité par blueteen le 06-03-2003 à 14:59:00
Reply

Marsh Posté le 06-03-2003 à 14:58:00   

Reply

Marsh Posté le 06-03-2003 à 15:03:55    

C changé...mé rien a faire  :sweat:

Reply

Marsh Posté le 06-03-2003 à 15:26:40    

je l'ai installé pour moi pour tester
et y a pas de pbs
j'ai fait ainsi :
 
http://blueteen.info/status/test.html
 

Code :
  1. test.html
  2. <html>
  3. <head>
  4. <title>Web Server Status</title>
  5. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  6. </head>
  7. <body bgcolor="#FFFFFF">
  8. <table border="0" cellspacing="0" cellpadding="3">
  9.   <tr>
  10.     <td width="77%"><font face="Arial, Helvetica, sans-serif" size="2">Serveur Web Blueteen.dyndns.org</font></td>
  11.     <td width="23%"><img src="status.php?link=blueteen.dyndns.org" width="37" height="20"></td>
  12.   </tr>
  13.     <tr>
  14.     <td width="77%"><font face="Arial, Helvetica, sans-serif" size="2">Serveur Ftp Blueteen.dyndns.org</font></td>
  15.     <td width="23%"><img src="status.php?link=blueteen.dyndns.org:21" width="37" height="20"></td>
  16.   </tr>
  17. </table>
  18. </body>
  19. </html>


 

Code :
  1. status.php
  2. <?php
  3. //Web Server Status v 1.2, Copyright 2002 By Ryan Schwiebert, visit http://www.schwebdesigns.com/
  4. //This script may be freely distributed providing all copyright headers are kept intact.  
  5. //Concept from:
  6. //Abax Server Status v1.04, Copyright 2002 By Nathan Dickman, visit http://www.NathanDickman.com/
  7. //Location of the live or dead server images
  8. //Please change to your server specifications
  9. $live = "./live.gif";
  10. $dead = "./dead.gif";
  11. //The status checking script
  12. //meddle at your own risk!
  13. //check for port number, default is 80
  14. list($addr,$port)= explode (':',"$link" );
  15. if (empty($port)){
  16. $port = 80;
  17. }
  18. //Test the server connection
  19. $churl = @fsockopen(server($addr), $port, $errno, $errstr, 20);
  20.              if (!$churl){
  21.                 header("Location: $dead" );
  22.                 }
  23.              else {
  24.                 header("Location: $live" );           
  25.    }
  26. function server($addr){
  27.          if(strstr($addr,"/" )){$addr = substr($addr, 0, strpos($addr, "/" ));}
  28.          return $addr;
  29. }
  30. ?>


 
J'ai volontairement laissé le ftp fermé là ( et le serveur web ouvert)
j'ai testé et ça marche bien (ftp ouvert/fermé)


Message édité par blueteen le 06-03-2003 à 15:27:10
Reply

Marsh Posté le 06-03-2003 à 15:59:57    

de pire en pire....regarde sur http://bagupremier.free.fr/status/test.html

Reply

Marsh Posté le 06-03-2003 à 16:08:34    

c'est free qui doit merder alors, car regarde :
http://www.blueteen.info/status/test.html
 
j'ai rajouté ton serveur
fais le test maintenant en le coupant et rechargeant ma page.

Reply

Marsh Posté le 06-03-2003 à 16:14:40    

non...ca merde...pas au niveau de l'affichage mais ca merde qd meme parce que meme si je coupe le serveur, il me détecte quand meme online

Reply

Marsh Posté le 06-03-2003 à 16:26:13    

alors, tu vas pas être content, mais on va dire que c'est la faute à IIS qui doit pas répondre comme il faut  :D
passe à serv-u  :whistle:

Reply

Marsh Posté le 06-03-2003 à 16:29:40    

non non...s'plus simple que ca...quand je coupe le serveur ftp je suis tjrs en ligne et mon port 21 est tjrs ouvert...(j'ai le droit de tel sur su ftp qd mon serveur est down) donc le 81.56.215.118 répond tjrs  :pt1cable:  :whistle: donc pour ce script je suis tjrs en ligne...faudrait un script qui tente de se connecter au rep d'upload...et qui, s'il n'y arrive pas, dise que le serveur est down...

Reply

Marsh Posté le 06-03-2003 à 16:42:21    

:ouch:  
qd ton server est down on peut qd mm se connecter dessus !
c'est quoi ce serveur de fou !!!  :pt1cable:
et si tu veux que plus personne viennent réellement, tu fais comment alors ?

Reply

Marsh Posté le 06-03-2003 à 16:49:07    

non...qd le server est down...on peut le pinger le port 21 est ouvert...mais on ne peut pas s'y connecter...ni récupérer les fichiers

Reply

Marsh Posté le 06-03-2003 à 16:51:27    

ah
comme tu disais ça :
 
j'ai le droit de tel sur su ftp qd mon serveur est down

Reply

Marsh Posté le 06-03-2003 à 16:53:19    

ok je pige
qd on parle de port 21, on parle de celui qui est configuré pour TON serveur ftp.
moi aussi mon port 21 est ouvert qd mon serveur ftp est coupé.
le script se base pas sur le port lui-même mais sur la réponse qu'il obtient.
coupe ton serveur là que j'essaie d'aller voir le lien moi-même ?!

Reply

Marsh Posté le 06-03-2003 à 16:54:04    

c coupé...

Reply

Marsh Posté le 06-03-2003 à 16:56:20    

ah oui tu restes bien online..
ben là je vois vraiment pas...

Reply

Marsh Posté le 06-03-2003 à 16:59:28    

ah ! tu vois....c qu'il arrive a faire une sorte de ping en passant par le port 21...et je lui répond...mais s'il veut se connecter : peau d'balle !
en fait je cherche surtout un script qui récupère le contenu du rep principal de mon ftp et qui l'affiche (avec un fond noir) et s'il n'y arrive pas...qu'il me marque down !

Reply

Marsh Posté le 06-03-2003 à 17:20:56    

J'ai trouvé ce script qui est assez sympa en php.
en piquant quelques fonctions de ci, de là, tu devrais arriver à en tirer quelque chose.
je te conseille quand même d'aller dans la section programmation de ce forum (et de nous tenir au courant ici ;)
 

Code :
  1. <?php
  2. /* $Id: ftp.php,v 2.2 2002/03/12 23:21:28 pauls Exp $ */
  3. /* This software came from http://inebria.com/ */
  4. /* Copyright (c) 2000
  5.       Paul Southworth.  All rights reserved.
  6. Redistribution and use in source and binary forms, with or without
  7. modification, are permitted provided that the following conditions
  8. are met:
  9. 1. Redistributions of source code must retain the above copyright
  10.     notice, this list of conditions and the following disclaimer.
  11. 2. Redistributions in binary form must reproduce the above copyright
  12.     notice, this list of conditions and the following disclaimer in the
  13.     documentation and/or other materials provided with the distribution.
  14. 3. The name of the author may not be used to endorse or promote
  15.     products derived from this software without specific prior
  16.     written permission.
  17. THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
  18. OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
  19. WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  20. ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
  21. DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  22. DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
  23. GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
  24. INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
  25. WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
  26. OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
  27. EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
  28. /* Configuration Options */
  29. $phpftp_host="adresse_ftp";
  30. $phpftp_version="2.2";
  31. /* Comment this out if you don't want the version footer */
  32. $show_version_footer=1;
  33. /* How large a file will you accept?  You may also need to edit your
  34.    php.ini file and change upload_max_filesize appropriately */
  35. $max_file_size="1000000";
  36. /* The temporary directory $phpftp_tmpdir must exist and be writable
  37.    by your web server.
  38.    Hint:  mkdir /var/tmp/xfers && chmod 1777 /var/tmp/xfers */
  39. $phpftp_tmpdir="/var/tmp/xfers";
  40. /* $use_mime_lookup
  41.    Turning this on creates a dependency upon the
  42.    http://www.inebria.com/mime_lookup/ MIME type lookup library.
  43.    Setting this variable to "1" enables it.  "0" disables.
  44.    If you turn it on, put the mime_lookup.php file in the same directory
  45.    as ftp.php and uncomment the 'include("mime_lookup.php" );' statement. */
  46. $use_mime_lookup="0";
  47. /* include("mime_lookup.php" ); */
  48. /* We enclose the top and bottom in functions because sometimes
  49.    we might not send them (ie, in a file-download situation) */
  50. function phpftp_top() {
  51. global $phpftp_version;
  52. ?>
  53. <!-- function phpftp_top -->
  54. <html>
  55. <head>
  56. <title>PHP FTP Client <?php echo $phpftp_version; ?></title>
  57. </head>
  58. <body bgcolor="#ffffff">
  59. <?php
  60. }
  61. function phpftp_bottom() {
  62. global $phpftp_version;
  63. global $show_version_footer;
  64. ?>
  65. <!-- function phpftp_bottom -->
  66. <?php
  67. if (isset($show_version_footer)) {
  68. ?>
  69. <p><font size=-2>This is <a href="http://inebria.com/phpftp/">PHP FTP</a>
  70. version <?php echo $phpftp_version; ?></font></p>
  71. <?php
  72. }
  73. ?>
  74. </body>
  75. </html>
  76. <?php
  77. }
  78. /* This is the form used for initially collecting username/passwd */
  79. function phpftp_login() {
  80. phpftp_top();
  81. ?>
  82. <!-- function phpftp_login -->
  83. <p>
  84. <form action="ftp.php" method=post>
  85. <p><table border=0>
  86. <tr><td>
  87. Login:
  88. </td><td>
  89. <input name="phpftp_user" type="text">
  90. </td></tr>
  91. <tr><td>
  92. Password:
  93. </td><td>
  94. <input name="phpftp_passwd" type="password">
  95. </td></tr>
  96. <tr><td>
  97. Directory:
  98. </td><td>
  99. <input name="phpftp_dir" type="text">
  100. </td></tr>
  101. </table>
  102. </p><p>
  103. <input type="hidden" name="function" value="dir">
  104. <input type="submit" value="connect">
  105. </p>
  106. </form>
  107. <p>
  108. <?php
  109. phpftp_bottom();
  110. }
  111. /* This function does not return TRUE/FALSE - it returns the value of
  112.    $ftp, the current FTP stream. */
  113. function phpftp_connect($phpftp_user,$phpftp_passwd) {
  114. global $phpftp_host;
  115. $ftp = ftp_connect($phpftp_host);
  116. if ($ftp) {
  117.  if (ftp_login($ftp,$phpftp_user,urldecode($phpftp_passwd))) {
  118.   return $ftp;
  119.  }
  120. }
  121. }
  122. function phpftp_list($phpftp_user,$phpftp_passwd,$phpftp_dir) {
  123. global $phpftp_host;
  124. phpftp_top();
  125. ?>
  126. <!-- function phpftp_list -->
  127. <?php
  128. $ftp = @phpftp_connect($phpftp_user,$phpftp_passwd);
  129. if (!$ftp) {
  130. ?>
  131. <strong>FTP login failed!</strong>
  132. <a href="ftp.php">Start over?</a>
  133. <?php
  134.  phpftp_bottom();
  135. } else {
  136.  if (!$phpftp_dir) {
  137.   $phpftp_dir=ftp_pwd($ftp);
  138.  }
  139.  if (!@ftp_chdir($ftp,$phpftp_dir)) {
  140. ?>
  141. <font color="#ff0000"><strong>Can't enter that directory!</strong></font><p><p>
  142. <?php
  143.   $phpftp_dir=ftp_pwd($ftp);
  144.  }
  145.  echo "<strong>Current host:</strong> " . $phpftp_host . "<br>\n";
  146.  echo "<strong>Current directory:</strong> " . $phpftp_dir . "<br>\n";
  147.  if ($phpftp_dir == "/" ) {
  148.   $phpftp_dir="";
  149.  }
  150.  if ($contents = ftp_rawlist($ftp,"" )) {
  151.   $d_i=0;
  152.   $f_i=0;
  153.   $l_i=0;
  154.   $i=0;
  155.   while ($contents[$i]) {
  156.    $item[] = split("[ ]+",$contents[$i],9);
  157.    $item_type=substr($item[$i][0],0,1);
  158.    if ($item_type == "d" ) {
  159.     /* it's a directory */
  160.     $nlist_dirs[$d_i]=$item[$i][8];
  161.     $d_i++;
  162.    } elseif ($item_type == "l" ) {
  163.     /* it's a symlink */
  164.     $nlist_links[$l_i]=$item[$i][8];
  165.     $l_i++;
  166.    } elseif ($item_type == "-" ) {
  167.     /* it's a file */
  168.     $nlist_files[$f_i]=$item[$i][8];
  169.     $nlist_filesize[$f_i]=$item[$i][4];
  170.     $f_i++;
  171.    } elseif ($item_type == "+" ) {
  172.     /* it's something on an anonftp server */
  173.     $eplf=split(",",implode(" ",$item[$i]),5);
  174.     if ($eplf[2] == "r" ) {
  175.      /* it's a file */
  176.      $nlist_files[$f_i]=trim($eplf[4]);
  177.      $nlist_filesize[$f_i]=substr($eplf[3],1);
  178.      $f_i++;
  179.     } elseif ($eplf[2] == "/" ) {
  180.      /* it's a directory */
  181.      $nlist_dirs[$d_i]=trim($eplf[3]);
  182.      $d_i++;
  183.     }
  184.    } /* ignore all others */
  185.    $i++;
  186.   }
  187. ?>
  188. <table border=0 cellspacing=20>
  189. <?php
  190.   if (count($nlist_dirs)>0) {
  191. ?>
  192. <tr><td align=left valign=top>
  193. <strong>Directories</strong><br>
  194. <form action="ftp.php" method=post>
  195. <input type="hidden" name="function" value="cd">
  196. <input type="hidden" name="phpftp_user" value="<?php echo $phpftp_user; ?>">
  197. <input type="hidden" name="phpftp_passwd" value="<?php echo $phpftp_passwd; ?>">
  198. <input type="hidden" name="phpftp_dir" value="<?php echo $phpftp_dir; ?>">
  199. <select name="select_directory" size="10" width="100">
  200. <?php
  201.    for ($i=0; $i < count($nlist_dirs); $i++) {
  202.     echo "<option value=\"" . $nlist_dirs[$i] . "\">" . $nlist_dirs[$i] . "</option>\n";
  203.    }
  204. ?>
  205. </select><br>
  206. <input type="submit" value="Enter Directory">
  207. </form>
  208. </td>
  209. <?php
  210.   }
  211.   if (count($nlist_files)>0) {
  212. ?>
  213. <td align=left valign=top>
  214. <strong>Files</strong><br>
  215. <form action="ftp.php" method=post>
  216. <input type="hidden" name="function" value="get">
  217. <input type="hidden" name="phpftp_user" value="<?php echo $phpftp_user; ?>">
  218. <input type="hidden" name="phpftp_passwd" value="<?php echo $phpftp_passwd; ?>">
  219. <input type="hidden" name="phpftp_dir" value="<?php echo $phpftp_dir; ?>">
  220. <select name="select_file" size="10">
  221. <?php
  222.    for ($i=0; $i < count($nlist_files); $i++) {
  223.     echo "<option value=\"" . $nlist_files[$i] . "\">" . $nlist_files[$i] ."  ($nlist_filesize[$i] bytes)". "</option>\n";
  224.    }
  225. ?>
  226. </select><br>
  227. <input type="submit" value="Download File">
  228. </form>
  229. </td></tr>
  230. <?php
  231.   }
  232.  } else {
  233. ?>
  234. <p><font color="#ff0000"><strong>Directory empty or not readable</strong></font><p>
  235. <?php
  236.  }
  237. ?>
  238. </table>
  239. <p>
  240. <form action="ftp.php" method=post>
  241. <?php
  242.  $cdup=dirname($phpftp_dir);
  243.  if ($cdup == "" ) {
  244.   $cdup="/";
  245.  }
  246. ?>
  247. <input type="hidden" name="function" value="dir">
  248. <input type="hidden" name="phpftp_user" value="<?php echo $phpftp_user; ?>">
  249. <input type="hidden" name="phpftp_passwd" value="<?php echo $phpftp_passwd; ?>">
  250. <input type="hidden" name="phpftp_dir" value="<?php echo $cdup; ?>">
  251. <input type="submit" value="Go up one directory">
  252. </form>
  253. <p>
  254. <form enctype="multipart/form-data" action="ftp.php" method=post>
  255. <input type="hidden" name="max_file_size" value="<?php echo $max_file_size ?>">
  256. <input type="hidden" name="phpftp_user" value="<?php echo $phpftp_user; ?>">
  257. <input type="hidden" name="phpftp_passwd" value="<?php echo $phpftp_passwd; ?>">
  258. <input type="hidden" name="phpftp_dir" value="<?php echo $phpftp_dir; ?>">
  259. <input type="hidden" name="function" value="put">
  260. <input type="submit" value="Upload this:">
  261. <input name="userfile" type="file">
  262. </form>
  263. <p>
  264. <form action="ftp.php" method=post>
  265. <input type="hidden" name="function" value="mkdir">
  266. <input type="hidden" name="phpftp_user" value="<?php echo $phpftp_user; ?>">
  267. <input type="hidden" name="phpftp_passwd" value="<?php echo $phpftp_passwd; ?>">
  268. <input type="hidden" name="phpftp_dir" value="<?php echo $phpftp_dir; ?>">
  269. <input type="submit" value="Make subdirectory:">
  270. <input name="new_dir" type="text">
  271. <?php
  272.  ftp_quit($ftp);
  273.  phpftp_bottom();
  274. }
  275. }
  276. function phpftp_cd($phpftp_user,$phpftp_passwd,$phpftp_dir,$select_directory) {
  277. ?>
  278. <!-- function phpftp_cd -->
  279. <?php
  280. $new_directory=$phpftp_dir . "/" . $select_directory;
  281. phpftp_list($phpftp_user,$phpftp_passwd,$new_directory);
  282. }
  283. function phpftp_mkdir($phpftp_user,$phpftp_passwd,$phpftp_dir,$new_dir) {
  284. ?>
  285. <!-- function phpftp_mkdir -->
  286. <?php
  287. $ftp = @phpftp_connect($phpftp_user,$phpftp_passwd);
  288. if ($phpftp_dir == "" ) {
  289.  $phpftp_dir="/";
  290. }
  291. if (!$ftp) {
  292.  @ftp_quit($ftp);
  293.  phpftp_top();
  294. ?>
  295. <font color="#ff0000"><strong>FTP login failed!</strong></font><p><p>
  296. <a href="ftp.php">Start over?</a>
  297. <?php
  298.  phpftp_bottom();
  299. } else {
  300.  $dir_path = $phpftp_dir . "/" . $new_dir;
  301.  @ftp_mkdir($ftp,$dir_path);
  302.  @ftp_quit($ftp);
  303.  phpftp_list($phpftp_user,$phpftp_passwd,$phpftp_dir);
  304. }
  305. };
  306. function phpftp_get($phpftp_user,$phpftp_passwd,$phpftp_dir,$select_file) {
  307. $ftp = @phpftp_connect($phpftp_user,$phpftp_passwd);
  308. if ($phpftp_dir == "" ) {
  309.  $phpftp_dir="/";
  310. }
  311. if ((!$ftp) || (!@ftp_chdir($ftp,$phpftp_dir))) {
  312.  @ftp_quit($ftp);
  313.  phpftp_top();
  314. ?>
  315. <font color="#ff0000"><strong>FTP login failed!</strong></font><p><p>
  316. <a href="ftp.php">Start over?</a>
  317. <?php
  318.  phpftp_bottom();
  319. } else {
  320.  srand((double)microtime()*1000000);
  321.  $randval = rand();
  322.  $tmpfile=$phpftp_tmpdir . "/" . $select_file . "." . $randval;
  323.  if (!ftp_get($ftp,$tmpfile,$select_file,FTP_BINARY)) {
  324.   ftp_quit($ftp);
  325.   phpftp_top();
  326. ?>
  327. <font color="#ff0000"><strong>FTP get failed!</strong></font><p><p>
  328. <a href="ftp.php">Start over?</a>
  329. <?php
  330.   phpftp_bottom();
  331.  } else {
  332.   ftp_quit($ftp);
  333.   global $use_mime_lookup;
  334.   if ($use_mime_lookup == "1" ) {
  335.    $file_mime_type=mime_lookup(substr(strrchr($select_file,"." ),1));
  336.   }
  337.   if (!$file_mime_type) {
  338.    $file_mime_type="application/octet-stream";
  339.   }
  340.   header("Content-Type: " . $file_mime_type);
  341.   header("Content-Disposition: attachment; filename=" . $select_file);
  342.   readfile($tmpfile);
  343.  }
  344.  @unlink($tmpfile);
  345. }
  346. }
  347. function phpftp_put($phpftp_user,$phpftp_passwd,$phpftp_dir,$userfile,$userfile_name) {
  348. srand((double)microtime()*1000000);
  349. $randval = rand();
  350. $tmpfile=$phpftp_tmpdir . "/" . $userfile_name . "." . $randval;
  351. if (!@move_uploaded_file($userfile,$tmpfile)) {
  352.  phpftp_top();
  353. ?>
  354. <font color="#ff0000"><strong>Upload failed!  Can't create temp file?</strong></font>
  355. <p><p>
  356. <a href="ftp.php">Start over?</a>
  357. <?php
  358.  phpftp_bottom();
  359. } else {
  360.  if (!$ftp = @phpftp_connect($phpftp_user,$phpftp_passwd)) {
  361.   unlink($tmpfile);
  362.   phpftp_top();
  363. ?>
  364. <font color="#ff0000"><strong>FTP login failed!</strong></font><p><p>
  365. <a href="ftp.php">Start over?</a>
  366. <?php
  367.   phpftp_bottom();
  368.  } else {
  369.   ftp_chdir($ftp,$phpftp_dir);
  370.   ftp_put($ftp,$userfile_name,$tmpfile,FTP_BINARY);
  371.   ftp_quit($ftp);
  372.   unlink($tmpfile);
  373.   phpftp_list($phpftp_user,$phpftp_passwd,$phpftp_dir);
  374.  }
  375. }
  376. }
  377. switch($function) {
  378. case "dir";
  379.  phpftp_list($phpftp_user,$phpftp_passwd,$phpftp_dir);
  380.  break;
  381. case "cd";
  382.  phpftp_cd($phpftp_user,$phpftp_passwd,$phpftp_dir,$select_directory);
  383.  break;
  384. case "get";
  385.  phpftp_get($phpftp_user,$phpftp_passwd,$phpftp_dir,$select_file);
  386.  break;
  387. case "put";
  388.  phpftp_put($phpftp_user,$phpftp_passwd,$phpftp_dir,$userfile,$userfile_name);
  389.  break;
  390. case "mkdir";
  391.  phpftp_mkdir($phpftp_user,$phpftp_passwd,$phpftp_dir,$new_dir);
  392.  break;
  393. case "";
  394.  phpftp_login();
  395.  break;
  396. }
  397. ?>


 
Copie dans un fichier ftp.php par exemple, met en ligne et connecte toi, tu verras c'est assez sympa, et ça nous montre qu'il y a tout ce qu'il faut en php pour se connecter/tester un ftp.
@+

Reply

Marsh Posté le 06-03-2003 à 17:29:15    

celui là peut servir aussi
je ne sais pas si tu as un serveur web, mais essaie les
 

Code :
  1. <html>
  2. <head>
  3. <title>FTP Test</title>
  4. </head>
  5. <body>
  6. <?php
  7. $ftp_server = "adresse_serveur";
  8. $ftp_user_name = "login";
  9. $ftp_user_pass = "pass";
  10. // set up basic connection
  11. $conn_id = ftp_connect("$ftp_server" );
  12. // check connection
  13. if (!$conn_id) {
  14.          echo "Ftp connection has failed!<br>";
  15.          echo "Attempted to connect to $ftp_server<br>";
  16.          die;
  17.      } else {
  18.          echo "Connected to $ftp_server<br>";
  19.      }
  20. // login with username and password
  21. $login_result = ftp_login($conn_id, "$ftp_user_name", "$ftp_user_pass" );
  22. // check connection
  23. if (!$login_result) {
  24.          echo "Ftp connection has failed! ($login_result)<br>";
  25.          echo "Attempted to login to $ftp_server for user $ftp_user_name<br>";
  26.          die;
  27.      } else {
  28.          echo "Logged into $ftp_server, for user $ftp_user_name<br>";
  29.      }
  30. $pwd = ftp_pwd($conn_id);
  31. echo "Present working directory is $pwd<br>";
  32. // close the FTP stream  
  33. ftp_quit($conn_id);
  34. ?>
  35. </body>
  36. </html>

Reply

Marsh Posté le 06-03-2003 à 18:04:39    

Rhaaaa...j'y arrive paaass  [:sharpknife]

Reply

Marsh Posté le 06-03-2003 à 18:18:38    

t allé voir du côté du forum prog ?
je regarde aussi de mon côté
 

Code :
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  2. <HTML>
  3. <HEAD>
  4. <TITLE> Ftp </TITLE>
  5. </HEAD>
  6. <BODY>
  7. <?php
  8. $conn_id=ftp_connect("adresse" );
  9. $ftp_username="login";
  10. $ftp_pass="pass";
  11. $login_result=ftp_login($conn_id,$ftp_username,$ftp_pass);
  12. if((!$conn_id) || (!$login_result))
  13. {
  14. echo "FTP connection has failed!";
  15. echo "Attempted to connect to $ftp_server for user $ftp_user_name";
  16. die(mysql_error());
  17. }
  18. else
  19. {
  20. $host_name = gethostbyaddr($ip);
  21.   $ip= gethostbyname($host_name);
  22. echo "<center>Connected to $host_name <br>
  23. IP address is: $ip <br>
  24. <b> Welcome $ftp_username</b></center>";
  25. }
  26. ?>
  27. </BODY>
  28. </HTML>


 
 
Ce truc marche bien quand le serveur est lancé, mais ça tourne dans le vide quand le serveur est éteint.
J'espérais un message :)
Y une histoire de time out
j'essaie de réduire, pour que dès que le serveur réponde pas il affiche un mess.
C'est fou que l'autre script n'ait pas marché...


Message édité par blueteen le 06-03-2003 à 18:21:04
Reply

Marsh Posté le 06-03-2003 à 18:24:07    

Ben...chez moi regarde ce que ca fais...(j'ai mis un pseudo et un pass créé pour l'occasion)

Reply

Marsh Posté le 06-03-2003 à 18:27:46    

je regarde où ?

Reply

Marsh Posté le 06-03-2003 à 18:29:21    

lol...s'cuse je pas etre tres réveillé  :sleep:  
 
 
http://bagupremier.free.fr/test.html

Reply

Marsh Posté le 06-03-2003 à 18:30:52    

normal
tu as mis un .html
il faut mettre un .php
sinon le script dedans est pas interprété :)

Reply

Marsh Posté le 06-03-2003 à 18:32:03    

oups...je réitère...je pas etre bien réveillé !  :whistle:
 
 
Fatal error: Call to undefined function: ftp_connect() in test.php on line 9


Message édité par bagu le 06-03-2003 à 18:33:05
Reply

Marsh Posté le 06-03-2003 à 18:33:10    

mouais
ben on dirait que free à bloqué la fonction ftp_connect...

Reply

Marsh Posté le 06-03-2003 à 18:38:41    

rhaaaaa [:tilleulv]

Reply

Marsh Posté le 06-03-2003 à 19:54:11    

J'ai essayé ca....

Code :
  1. <?php
  2. //Serveur
  3. $host = "81.56.215.118";
  4. //Repertoire de base de la connexion
  5. $rep = "/";
  6. // connection au serveur
  7. if (!$ftp = @ftp_connect($host))
  8.     {
  9.     echo "Serveur Non-connecté<br>";
  10.     }
  11.     else
  12.     {
  13.     echo "$host Connecté<br>";
  14. ?>


mais ca me met une erreur ligne 21  :??:

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed