Navigateur ftp

Soyez le premier à donner votre avis sur cette source.

Vue 9 526 fois - Téléchargée 691 fois

Description

Un petit navigateur ,
Qui marche très bien sur le serveur ftp de la freebox

Serais mis a jour très bientot

Source / Exemple :


<html>
<head>
<title>
<?php 
$title=explode('/',$_GET['dir']);
echo 'Contenue de : /'.$title[sizeof($title)-1];
?>
</title>
<link href="css.css" rel="stylesheet" title="Style" type="text/css" media="screen" />
</head>
<body>
<?php
function isfile($ftp,$file)
{
if(@ftp_size($ftp,$file)!=-1)return true; else return false;
}

$host='hd1.freebox.fr';
$login='freebox';
$pwd='';
$default_redirect='.';
$size_total=0;
$nb_file=0;
$nb_folder=0;

if(!$ftp=ftp_connect($host))
{
	echo 'Impossible de se connecte au serveur ftp <b>'.$host.' </b>.';
	exit;
}
if(!ftp_login($ftp,$login,$pwd))
{
echo 'Impossible de vous identifier au serveur '.$host.' avec les identifiant suivant login:'.$login.' password:'.$pwd.' . ';
exit;
}

if(isset($_GET['dir'])&&!empty($_GET['dir']))
{
if(!$nlist =ftp_nlist($ftp,$_GET['dir']))
{
	echo 'Impossible de liste le repertoire '.$_GET['dir'].' ! ';
	}else{

echo '<table cellpadding="2">';

$lien=str_replace(' ','%20',$_GET['dir']);
echo '<tr><td><a href="?dir='.$lien.'/..'.'"><img src="file/parent.gif" >Dossier Parent</a></td><td>..</td></tr>';

foreach($nlist as $file)/*Enumerer se que trouve dans le dossier un par un*/
{
$FILE=$_GET['dir'].'/'.$file; /*Chemin complet du fichier*/
$FILE_ENCODE=str_replace(' ','%20',$FILE); /*Pour les lien*/

if(!$size=@ftp_size($ftp,$FILE))$size=0; /*Donne la taille du fichier*/

if(isfile($ftp,$FILE)){
	echo '<tr id="_file"><td id="file"><img src="file/file.png" />'.$file.'</td><td>size: '.$size.' Octets</td></tr>'."\n";
$nb_file++;
}else{
	echo '<tr id="_folder"><td id="folder"><img src="file/folder.png" /><a href="?dir='.$FILE_ENCODE.'"> '.$file.'</a></td><td>size: --</td></tr>'."\n";
$nb_folder++;
}
$size_total+=$size;

}/*fin de la boucle de l'enumeration des fichier & dossier*/

echo '</table>';

$taile_mo=round($size_total/1000000,2);
echo '<p class="ped"><br />fichier:'.$nb_file.' | dossier :'.$nb_folder.' | size total:'.$size_total.'  Octets ('.$taile_mo.' mo)</p>';
}
}

if(empty($_GET)){
echo '<meta http-equiv="Refresh"
 content="0;URL=?dir='.$default_redirect.'">';
}

ftp_quit($ftp);

?>
</body>
</html>

Conclusion :


Il i aura des amélioration upload vers le serveur ect..

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
1
Date d'inscription
jeudi 1 avril 2010
Statut
Membre
Dernière intervention
1 avril 2010

Je trouve cette solution très sympathique mais j'ai quelque problème quand je le lance :

.'; exit; } if(!ftp_login($ftp,$login,$pwd)) { echo 'Impossible de vous identifier au serveur '.$host.' avec les identifiant suivant login:'.$login.' password:'.$pwd.' . '; exit; } if(isset($_GET['dir'])&&!empty($_GET['dir'])) { if(!$nlist =ftp_nlist($ftp,$_GET['dir'])) { echo 'Impossible de liste le repertoire '.$_GET['dir'].' ! '; }else{ echo ''; $lien=str_replace(' ','%20',$_GET['dir']); echo ' Dossier Parent ..
'; foreach($nlist as $file)/*Enumerer se que trouve dans le dossier un par un*/ { $FILE=$_GET['dir'].'/'.$file; /*Chemin complet du fichier*/ $FILE_ENCODE=str_replace(' ','%20',$FILE); /*Pour les lien*/ if(!$size=@ftp_size($ftp,$FILE))$size=0; /*Donne la taille du fichier*/ if(isfile($ftp,$FILE)){ echo ' '.$file.' size: '.$size.' Octets
'."\n"; $nb_file++; }else{ echo ' '.$file.' size: --
'."\n"; $nb_folder++; } $size_total+=$size; }/*fin de la boucle de l'enumeration des fichier & dossier*/ echo ' '; $taile_mo=round($size_total/1000000,2); echo '

fichier:'.$nb_file.' | dossier :'.$nb_folder.' | size total:'.$size_total.' Octets ('.$taile_mo.' mo)

'; } } if(empty($_GET)){ echo ''; } ftp_quit($ftp); ?>

______________________________________________________


Voila si vous avez une explication ...
Messages postés
3
Date d'inscription
vendredi 5 décembre 2008
Statut
Membre
Dernière intervention
16 février 2009

Bien mais un peut trop lent :)
Messages postés
318
Date d'inscription
samedi 6 mai 2006
Statut
Membre
Dernière intervention
10 août 2013
1
LEETNOOB > J'ai dit que j'utilise en local ...

Ben pour mettre a mot de passe rien de plus simple avec le $_SESSION php ou avec un .htaccess
Messages postés
2
Date d'inscription
mardi 8 janvier 2008
Statut
Membre
Dernière intervention
13 janvier 2008

Pas mal le Script, je vien de le tester.

Par contre je ne voit pas trop le but =), mais si tu veut ajouter un upload ect, protege ton script par un jolie compte administrateur, sinon un vieu lamer le trouve il s'amuse ^^.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.