Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Problème de transfert de fichier avec le protocole FTP [ Archives / Réseau & Internet ] (NerOcrO)

jeudi 27 mai 2004 à 11:15:40 | Problème de transfert de fichier avec le protocole FTP

NerOcrO

Voici index.php :
<?$rep="rep_que_vous_voulez"?>
<html>
<head>
<title></title>
</head>
<body onLoad="document.connexion.ip.focus()">
<!-- La connexion avec le DNS ne fonctionne pas -->
<center><form name="connexion" method="post" action="test_ftp.php">
<input type="hidden" name="repertoire" value="<?=$rep?>">
<input type="hidden" name="test" value="0">
IP : <input type="text" name="ip"><br>
Login : <input type="text" name="login"><br>
MDP : <input type="password" name="mdp"><br>
<input type="submit" value="Connexion au FTP">
</form></center>
</body>
</html>


Voici test_ftp.php :
<?
session_start();
function supp($chaine1)
{
$chaine2="";
for($a=0;$a<strlen($chaine1);$a++)
{
if($chaine1[$a]==" ")
{
if($chaine1[$a+1]!=" ")
$chaine2=$chaine2.$chaine1[$a];
}
else
$chaine2=$chaine2.$chaine1[$a];
}
return($chaine2=explode(" ", $chaine2));
}
function Affichage_Rep($connexion)
{
// Accès au bon répertoire
ftp_chdir($connexion,$_SESSION['repertoire']);
// Répertoire en cours
$rep_courant=ftp_pwd($connexion);
echo '<br>Répertoire courant "'.$rep_courant.'"<br>';?>
<table><tr>
<td id="titre" width="200">Nom</td>
<td id="titre" width="100">Taille</td>
<td id="titre" width="100">Date</td>
</tr></table>
<? // Fait une liste détaillée des fichiers dans un dossier
$ftp_rawlist=ftp_rawlist($connexion,$rep_courant);
// Transforme plusieurs caractères identique en un seul (ici, l'espace)
for($i=0;$i<count($ftp_rawlist);$i++)
{
$chaine2=supp($ftp_rawlist[$i]);?>
<table><tr>
<td width="200" onMouseOver="this.style.background='#EAEAEA'" onMouseOut="this.style.background=''">
<?if($chaine2[0]{0}=="d")
echo $chaine2[8];
else{?>
<a href="test_ftp.php?action=<?=$chaine2[8]?>"><?=$chaine2[8]?></a>
<?}?>
</td>
<td class="ct"><?=$chaine2[4]?></td>
<td class="ct"><?=$chaine2[6]." ".$chaine2[5]." ".$chaine2[7]?></td>
</tr></table>
<?
}
}
?>
<html>
<head>
<style>
#titre{background-color:red;color:white;text-align:center;font-weight:bold}
.ct{text-align:center;width:100px}
</style>
</head>
<body>
<?
// Première venue et enregistrement des variables de session
if(isset($_POST['repertoire'])&&$_POST['test']==0)
{
$_SESSION['ip']=$_POST['ip'];
$_SESSION['login']=$_POST['login'];
$_SESSION['mdp']=$_POST['mdp'];
$_SESSION['repertoire']=$_POST['repertoire'];
// Le port est 21 et la connexion ne dure que 90 sec par défaut
$connexion=ftp_connect($_POST['ip'])or die("Impossible de se connecter à ".$_POST['ip']);
if(ftp_login($connexion,$_POST['login'],$_POST['mdp']))
{
echo "Connecté sur ".$_POST['login']."@".$_POST['ip']."<br>";
Affichage_Rep($connexion);
}
else
echo "Impossible de se connecter avec ".$_POST['ip'];
ftp_close($connexion);
}
// Partie quand on revient en arrière
else if(isset($_POST['test'])&&$_POST['test']==1)
{
$connexion=ftp_connect($_SESSION['ip'])or die("Impossible de se connecter à ".$_SESSION['ip']);
if(ftp_login($connexion,$_SESSION['login'],$_SESSION['mdp']))
{
echo "Connecté sur ".$_SESSION['login']."@".$_SESSION['ip']."<br>";
Affichage_Rep($connexion);
}
else
echo "Impossible de se connecter avec ".$_SESSION['ip'];
ftp_close($connexion);
}
// Partie de téléchargement
else if(isset($_GET['action']))
{
$connexion=ftp_connect($_SESSION['ip'])or die("Impossible de se connecter à ".$_SESSION['ip']);
if(ftp_login($connexion,$_SESSION['login'],$_SESSION['mdp']))
if(ftp_get($connexion,$_GET['action'],$_SESSION['repertoire']."/".$_GET['action'],FTP_BINARY))
{?>
<p>Le fichier <?=$_GET['action']?> a été écrit avec succès.</p>
<?}
else
echo "Echec de l'opération.";
ftp_close($connexion);?>
<form method="post" action="test_ftp.php">
<input type="hidden" name="test" value="1">
<input type="submit" value="Retour">
</form>
<?
}
else
echo "Il faut se connecter au FTP avant.";
?>
</body>
</html>


Ce script fonctionne dans l'ensemble sauf un truc essentiel : il ne sauvegarde pas le fichier voulu sur mon disque.
Explication :
Ce script est sur un site web, je suis chez moi et je lance ce script avec mon navigateur et je click sur un fichier pour le télécharger. Le fichier se télécharge bien mais pas chez moi, il est téléchargé sur le site web.
Je pense qu'il faut bien régler "ftp_get" au niveau du premier $_GET['action'] (chemin du téléchargement) mais je ne sais pas comment faire pour lui indiquer chez moi.
Bref, si vous savez comment faire pour le $_GET['action'] ou s'il existe une autre solution, ça serait bien aimable à vous de la faire partager surtout que je dois faire ça avant la semaine prochaine pour mon chef (non j'ai pas la pression).
Au fait, je suis obligé de passer par du HTTP et non directement en FTP car ça sera une appli pour des clients qui ont des proxy qui bloquent tout sauf le HTTP (clap clap clap les admins réseaux :p)

Merci ciao

lundi 28 mai 2007 à 16:31:39 | Re : Problème de transfert de fichier avec le protocole FTP

douddou

Membre Club
Je ne peux pas t'aider mais je suis interesse par la reponse que certains pourront te fournir car j'ai le probleme que toi ^^
Si je le trouve entre temps je t'en ferais part ;)

Dany

lundi 28 mai 2007 à 20:25:45 | Re : Problème de transfert de fichier avec le protocole FTP

douddou

Membre Club
J'ai trouve quelque chose mais ce n'est pas parfait.
avec <a href='ftp//user:password@serveurftp/emplacementdufichier'>mon lien</a>
J'arrive a acceder a mon fichier mais le hic c'est que si c'est du format texte ca me l'affiche dans la page, si c'est du son avec quicktime ca peut le lire :/

Dany

lundi 28 mai 2007 à 20:58:41 | Re : Problème de transfert de fichier avec le protocole FTP

douddou

Membre Club
Bon en fait je ne me suis pas foule j'ai mis un message tout bete faire "clic droit/enregistrer sous.."
J'espere que ca va t'aider ;)

Dany



Cette discussion est classé dans : ftp, connexion, ip, session, get


Répondre à ce message

Sujets en rapport avec ce message

ftp_get copie contenu repertoire ftp vers autre site ftp [ par tahbre ] Bonjour, Je veux me connecter à un site ftp autre que le mien, copier tout ce qu'il ya à l'intérieur du répertoire 420 dans mon exemple, et importer l session [ par lan0sic ] Bonjour,Voila : J'ai fait un systeme de seesion (inscritptionn/connexion) avec un cookie a la connexion. quand on est connecter on ce redirige dans un ftp_get php [ par CC24 ] bonjour à tous !est-ce que l'un d'entre vous pourrait m'indiquer la syntaxe à utiliser pour télécharger un fichier situé dans un sous-répertoire du ré ma session ne fonctionne pas a la première connexion [ par jojolafrite ] bonjour g un petit problème de session pour la création d'une section membrepour cela g trois fichier:logadmin.php(page de login)veriflog.php(script q Problème avec "session_start ();" [ par patrickrgn ] Bonjour à tous,Je suis en train de créer un forum mais je rencontre un petit problème pour l'ouverture de session. Il s'agit du traitement du formula Recherche dans une session [ par Fabrizio61 ] Bonjour à tous J'essaie de créer un script qui empêche une ID produit d'être enregistrée une deuxième fois dans la session pour ne les avoirqu'une foi connexion ftp [ par goutedo ] Bonsoir à tous.Que dois faire pour permettre à mes utilisateurs d'avoir accès à mon repertoire "albums" par ftp sans qu'ils puissent pour autant se dé connexion ftp [ par comunoty ] Bonjour, J'ai actuellement un compte chez free afin de pourvoir héberger mon site, et mon problème est le suivant. Je n'arrive que très rarement à me probleme de syntaxe need help !! [ par destiny ] BONJOUR !Prob de syntaxe !!session_start(); // démarrage de la session  if(isset($_SESSION['pseudo'])) { header("location: c-acc.php"); // redirection LES SESSIONS [ par Pestouille ] Bonjour à tous et joyeuses pâques !!J'essaye désespérément d'utiliser les sessions sous PHP 4.3.3 !!J'ai une page de connexion à ma BDD et, une fois q


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



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
Temps d'éxécution de la page : 0,281 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.