begin process at 2012 02 09 12:11:29
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Fichier / Disque

 > FTP LISTE DE FICHIERS

FTP LISTE DE FICHIERS


 Information sur la source

Note :
6,33 / 10 - par 3 personnes
6,33 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Fichier / Disque Niveau :Débutant Date de création :24/03/2004 Vu :8 260

Auteur : i0Lo

Ecrire un message privé
Site perso
Commentaire sur cette source (6)
Ajouter un commentaire et/ou une note

 Description

Ca fait longtemps que j'étais pas passé ici alors voilà juste un petit truc
Ce script se connecte sur un FTP , recupere la liste des fichiers et vous la retourne avec toutes les informations les concernant...

Source

  • <?
  • // Host de connexion
  • $ftp_server = "ftp.defaut.com";
  • // Port de connexion 21 defaut
  • $ftp_port = "21";
  • // Login utilisateur
  • $ftp_user = "user";
  • // Mot de passe utilisateur
  • $ftp_pass = "";
  • // Repertoire par defaut
  • $ftp_dir = "public_html/";
  • // Fermerture de la session en cours
  • if($action =="close") {
  • $connection = ftp_connect($ftp_server, $ftp_port) or die("Could not connect");
  • ftp_close($connection);
  • }
  • // Ouverture d'une session
  • if($action =="establish") {
  • $connection = ftp_connect($ftp_server, $ftp_port) or die("Could not connect");
  • }
  • // Verification, si la connexion est faite
  • // Envoie d'un message bateau pour dire que c'est fait :p
  • // Recuperer la lite des fichiers sur le serveur par la connexion en cours
  • // Je compte combien j'ai de fichiers dans cette liste à la con ^^ (mais non elle est gentille)
  • if (@ftp_login($connection, $ftp_user, $ftp_pass)) {
  • echo "Connection established with $ftp_server for $ftp_user\n";
  • $ftp_rawlist = ftp_rawlist($connection, $ftp_dir);
  • $result=array_count_values($ftp_rawlist);
  • // Bof juste un chti tableau pour faire plus joli !
  • print("<table cellspacing=\"2\">");
  • print("<tr>");
  • print("<td bgcolor=\"#C0C0C0\" width=\"120\"><center><b>connection</b></center></td>");
  • print("<td bgcolor=\"#C0C0C0\" width=\"120\"><center><b>user</b></center></td>");
  • print("<td bgcolor=\"#C0C0C0\" width=\"200\"><center><b>server:port</b></center></td>");
  • print("</tr>");
  • print("<tr>");
  • print("<td bgcolor=\"#F0F0F0\" width=\"120\"><center>established</center></td>");
  • print("<td bgcolor=\"#F0F0F0\" width=\"120\"><center>$ftp_user</center></td>");
  • print("<td bgcolor=\"#F0F0F0\" width=\"200\"><center>$ftp_server:$ftp_port</center></td>");
  • print("</tr>");
  • print("<tr>");
  • print("<td bgcolor=\"#F0F0F0\" width=\"120\"><center><a href=\"?action=close\">disconnect</a></center></td>");
  • print("</tr>");
  • print("</table>");
  • // Retour du nom du repertoire en cours
  • // juste verification s'il vous prend l'envie de faire des modifs pour vous balader sur votre compte
  • $ftp_current_dir = ftp_pwd($connection);
  • echo "<br> Current listing for $ftp_current_dir:";
  • // Lalala un chti tableau encore
  • // Conseil regardez ce qu'il y a dedans, ca vous aidera à rajouter vos options :D
  • print("<form name=\"filelist\" action=\"actions.php\">");
  • print("<table cellspacing=\"2\">");
  • print("<tr>");
  • print("<td bgcolor=\"#C0C0C0\" width=\"15\"><center><b>id</b></center></td>");
  • print("<td bgcolor=\"#C0C0C0\" width=\"20\"></td>");
  • print("<td bgcolor=\"#C0C0C0\" width=\"120\"><center><b>type</b></center></td>");
  • print("<td bgcolor=\"#C0C0C0\" width=\"100\"><center><b>permission</b></center></td>");
  • print("<td bgcolor=\"#C0C0C0\" width=\"100\"><center><b>designation</b></center></td>");
  • print("<td bgcolor=\"#C0C0C0\" width=\"200\"><center><b>filename</b></center></td>");
  • print("<td bgcolor=\"#C0C0C0\" width=\"100\"><center><b>size</b></center></td>");
  • print("</tr>");
  • print("</table>");
  • // alors là , j'ai une flemme intense pour décrire alors je vais y aller gentillement
  • while ( list ($cle,$valeur)=each($result) )
  • {
  • // Variable à incrémenter pour faire les retour (recuperation de fichier et affichage des nums dans tableau
  • $incme =="-1";
  • // Concaténation des permissions, juste un découpage ^^
  • $permission = substr($cle,0,10);
  • // lalala lol pas dur à trouver
  • $designation = $cle[13];
  • // Le nom du fichier
  • $file = substr($cle,55);
  • // La taille du fichier
  • $file_size = ftp_size($connection, $ftp_dir.$file);
  • // Incrementation de ma variable du haut pour rappeller les autres fichiers par derriere
  • $incme++;
  • // OOOoooooh un joli tableau ^^
  • // la dedans c'est pas dur à comprendre :p
  • print("<table cellspacing=\"2\">");
  • if($incme%2 == 0) { print("<tr bgcolor=\"F0F0F0\">"); }
  • else { print("<tr bgcolor=\"#EAEAEA\">"); }
  • echo "<td width=\"15\"><center>$incme</center></td>";
  • echo "<td width=\"20\"><input type=\"checkbox\" name=\"selected\" value=\"$file\"></td>";
  • echo "<td width=\"120\"><center><b>(</b>";
  • if($file_size == -1) { print("directory"); } else{ print("file"); }
  • echo "<b>)</b></center></td>";
  • echo "<td width=\"100\"><center><b>(</b>$permission<b>)</b></center></td>";
  • echo "<td width=\"100\"><center><b>(</b>$designation<b>)</b></center></td>";
  • echo "<td width=\"200\"><b>(</b>$file<b>)</b></td>";
  • echo "<td width=\"100\"><center><b>(</b>";
  • if($file_size == -1) { print("..."); }
  • else { echo $file_size; }
  • echo "<b>)</b></center></td>";
  • print("</tr>");
  • print("</table>");
  • }
  • }
  • else
  • {
  • echo "Impossible de se connecter avec $ftp_user\n";
  • }
  • print("</form>");
  • ?>
  • <a href="index.php?action=establish">Connect</a>
  • <br>
  • <a href="index.php?action=close">Close</a>
<?
// Host de connexion
$ftp_server = "ftp.defaut.com";
// Port de connexion 21 defaut
$ftp_port = "21";
// Login utilisateur
$ftp_user = "user";
// Mot de passe utilisateur
$ftp_pass = "";
// Repertoire par defaut
$ftp_dir = "public_html/";

// Fermerture de la session en cours
if($action =="close") {
$connection = ftp_connect($ftp_server, $ftp_port) or die("Could not connect"); 
ftp_close($connection);
}

// Ouverture d'une session
if($action =="establish") {
$connection = ftp_connect($ftp_server, $ftp_port) or die("Could not connect");
} 

// Verification, si la connexion est faite
// Envoie d'un message bateau pour dire que c'est fait :p
// Recuperer la lite des fichiers sur le serveur par la connexion en cours
// Je compte combien j'ai de fichiers dans cette liste à la con ^^ (mais non elle est gentille)

	if (@ftp_login($connection, $ftp_user, $ftp_pass)) {
    		echo "Connection established with $ftp_server for $ftp_user\n";
		$ftp_rawlist = ftp_rawlist($connection, $ftp_dir);
		$result=array_count_values($ftp_rawlist);

// Bof juste un chti tableau pour faire plus joli !
print("<table cellspacing=\"2\">");
print("<tr>");
print("<td bgcolor=\"#C0C0C0\" width=\"120\"><center><b>connection</b></center></td>");
print("<td bgcolor=\"#C0C0C0\" width=\"120\"><center><b>user</b></center></td>");
print("<td bgcolor=\"#C0C0C0\" width=\"200\"><center><b>server:port</b></center></td>");
print("</tr>");
print("<tr>");
print("<td bgcolor=\"#F0F0F0\" width=\"120\"><center>established</center></td>");
print("<td bgcolor=\"#F0F0F0\" width=\"120\"><center>$ftp_user</center></td>");
print("<td bgcolor=\"#F0F0F0\" width=\"200\"><center>$ftp_server:$ftp_port</center></td>");
print("</tr>");
print("<tr>");
print("<td bgcolor=\"#F0F0F0\" width=\"120\"><center><a href=\"?action=close\">disconnect</a></center></td>");
print("</tr>");
print("</table>");

// Retour du nom du repertoire en cours 
// juste verification s'il vous prend l'envie de faire des modifs pour vous balader sur votre compte

$ftp_current_dir = ftp_pwd($connection);
		echo "<br> Current listing for $ftp_current_dir:";

// Lalala un chti tableau encore
// Conseil regardez ce qu'il y a dedans, ca vous aidera à rajouter vos options :D
print("<form name=\"filelist\" action=\"actions.php\">");
print("<table cellspacing=\"2\">");
print("<tr>");
print("<td bgcolor=\"#C0C0C0\" width=\"15\"><center><b>id</b></center></td>");
print("<td bgcolor=\"#C0C0C0\" width=\"20\"></td>");
print("<td bgcolor=\"#C0C0C0\" width=\"120\"><center><b>type</b></center></td>");
print("<td bgcolor=\"#C0C0C0\" width=\"100\"><center><b>permission</b></center></td>");
print("<td bgcolor=\"#C0C0C0\" width=\"100\"><center><b>designation</b></center></td>");
print("<td bgcolor=\"#C0C0C0\" width=\"200\"><center><b>filename</b></center></td>");
print("<td bgcolor=\"#C0C0C0\" width=\"100\"><center><b>size</b></center></td>");
print("</tr>");
print("</table>");


// alors là , j'ai une flemme intense pour décrire alors je vais y aller gentillement

			while ( list ($cle,$valeur)=each($result) )
			{
// Variable à incrémenter pour faire les retour (recuperation de fichier et affichage des nums dans tableau
			$incme =="-1";
// Concaténation des permissions, juste un découpage ^^
			$permission = substr($cle,0,10);
// lalala lol pas dur à trouver
			$designation = $cle[13];
// Le nom du fichier
			$file = substr($cle,55);
// La taille du fichier
			$file_size = ftp_size($connection, $ftp_dir.$file);
// Incrementation de ma variable du haut pour rappeller les autres fichiers par derriere
			$incme++;

// OOOoooooh un joli tableau ^^
// la dedans c'est pas dur à comprendre :p

			print("<table cellspacing=\"2\">");
			if($incme%2 == 0) { print("<tr bgcolor=\"F0F0F0\">"); }
			else { print("<tr bgcolor=\"#EAEAEA\">"); }
			echo "<td width=\"15\"><center>$incme</center></td>";
			echo "<td width=\"20\"><input type=\"checkbox\" name=\"selected\" value=\"$file\"></td>";
			echo "<td width=\"120\"><center><b>(</b>";
			if($file_size == -1) { print("directory"); } else{ print("file"); }
			echo "<b>)</b></center></td>";
			echo "<td width=\"100\"><center><b>(</b>$permission<b>)</b></center></td>";
			echo "<td width=\"100\"><center><b>(</b>$designation<b>)</b></center></td>";
			echo "<td width=\"200\"><b>(</b>$file<b>)</b></td>";
			echo "<td width=\"100\"><center><b>(</b>";
			if($file_size == -1) { print("..."); }
			else { echo $file_size; }
			echo "<b>)</b></center></td>";
			print("</tr>");
			print("</table>");
			}
		}
		else
		{
    		echo "Impossible de se connecter avec $ftp_user\n";
	}
print("</form>");
?>
<a href="index.php?action=establish">Connect</a>
<br>
<a href="index.php?action=close">Close</a>

 Conclusion

Et oui, le code est pas fini , c'est pour mettre à disposition une base de travail pour ceux qui veulent se faire la main la dessus :)


 Sources de la même categorie

UPLOADER DES FICHIER DANSUN DOSSIER, SÉCURISÉ AVEC MOT DE PA... par raizzo
COMPTEUR DE VISITES SUR FICHIER par pierreSabatier
FONCTION RECURSIVE DE DOSSIERS par tefa24600
Source avec Zip CONVERSION DES UNITÉS INFORMATIQUE (O, KIO, MIO, GIO, TIO...... par genetApt151
TROUVER LES DOUBLONS DANS UNE LISTE DE FICHIERS par soobook

Commentaires et avis

Commentaire de Mechanicman le 25/03/2004 14:54:18

8/10 pour ton code...
Original, simple, pratique pour ceux qui n'ont pas de client FTP, et lisible. Bon je n'ai pas regardé en détail, mais ton code est bon. Peut etre pourrait tu implémenter une fonction de cryptage pour le mot de passe et/ou le nom utilisé..

Continue...

Commentaire de mortiis le 12/05/2004 20:23:07

Je crois qu'ajouter une fonction de cryptage pour le nom d'utilisateur et le mot de passe serait une grave erreur.

La raison est que dans le protocole ftp, ils ne sont pas crypté, alors si dans son script, il cripte les données, il ne sera plus compatible avec les serveur ftp.

Et si le script n'est plus compatible, il ne sert plus à rien.

Bon, mais peut-être que je raconte juste des conneries.

Commentaire de julien629 le 15/10/2004 02:24:54

WHAAA SA ROXXX :p

Commentaire de crashdown31 le 24/05/2006 21:49:19

le code ne fonctionne pas sur un serveur free ou est-je fait une erreur quelque part ?

Parse error: syntax error, unexpected T_DNUMBER in /......../index.php on line 3

Commentaire de Hiidalgo le 11/07/2008 17:29:56

Bonjour,

Dans le cadre d'un travail de recherche & documentation. Nous somme une équipe à travailler sur un serveur local & ftp comme base de donnée, je ne comprends pas bien comment fonctionne ce code pourrais-je avoir des précisions :
- pour le mettre en place
_ l'executer sur mon ftp

Merci d'avance

hiidalgo @ hotmail . com si vous voulez me joindre.

Commentaire de soundpanther le 29/10/2008 18:27:51 1/10

c'est une bonne idée mais dommage qu'il ne marche pas

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,546 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales