begin process at 2010 02 10 03:24:02
  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 :6 325

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

Source avec Zip EFFACER LES FICHIERS IMAGES ( .PNG ), D'UN RÉPERTOIRE TEMPS ... par christophe0511
COURTE ET SIMPLE FONCTION RÉCURSIVE POUR LECTURE DE RÉPERTOI... par mbdx
Source avec Zip Source avec une capture GESTIONNAIRE DE FICHIERS | MYSQL PHP 5.X {NEMENTON PHP MANA... par Nementon
Source avec Zip Source avec une capture LISTE REPERTOIRE (DIR EN PHP) par mephistope
Source avec Zip LIRE UNIQUEMENT LES X DERNIERS OCTETS D'UN FICHIER DISTANT (... par Equilibrius

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 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
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,686 sec (3)

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