<?php
// ------------------------------------------------------------------------- //
// Transfert FTP. //
// ------------------------------------------------------------------------- //
// Auteur: hoedic //
// Email: hoedic78@yahoo.fr //
// Web: http://yellowstone.free/ //
// ------------------------------------------------------------------------- //
?>
<!-- LE FORMULAIRE :
///////////////////////////// -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="#FFFFFF">
<p> </p>
<form method="post" action="zz.php3" name="blop">
<p>Serveur : <input type="text" name="serveur">
<br>
Login : <input type="text" name="login">
<br>
Mot de passe <input type="password" name="pass">
</p>
<p>Liste des fichiers dispo dans le répertoire actuel :
<select name="source">
<?
//Ouverture du répertoire du fichier dans lequel s'execute le script
$ouvert = opendir('.');
// Listing des fichiers du répertoire et on les affiche dans le menu
while ($file = readdir($ouvert))
echo '<option value="'. "$file" . '">' . "$file" . '</option>';
?>
</select>
</p>
<p>Nom que vous voulez lui donner dans le répertoire distant
<input type="text" name="remote" size="50">
</p>
<p>Type de connexion
<select name="typ">
<option value="FTP_ASCII">ASCII</option>
<option value="FTP_BINARY">Binaire</option>
</select>
</p>
<p>
<input type="submit" name="Submit" value="Submit">
</p>
</form>
</body>
</html>
<!-- LE SCRIPT FTP
//////////////////////////// -->
<?php
// Toutes les variable viennent du formulaire
//adresse du serveur ftp.toto.com
$ftp_server = $HTTP_POST_VARS[serveur];
// Login et mot de passe utilisateur
$ftp_user_name = $HTTP_POST_VARS[login];
$ftp_user_pass = $HTTP_POST_VARS[pass];
// Nom que l'on va donner au fichier distant
$destination_file = $HTTP_POST_VARS[remote];
// Nom du fichier local (choisit dans le menu déroulant
$source_file = $HTTP_POST_VARS[source];
// type de connexion ASCII ou binaire
$type = $HTTP_POST_VARS[typ];
//vérification des données
echo "fichier source $destination_file <BR>";
echo "fichier destination $source_file <BR>";
echo "type de connexion $type <BR>";
// création de la connexion
$conn_id = ftp_connect("$ftp_server");
// authentification avec nom de compte et mot de passe
$login_result = ftp_login($conn_id, "$ftp_user_name", "$ftp_user_pass");
// vérification de la connexion
if ((!$conn_id) || (!$login_result)) {
echo "La connexion FTP a échoué!";
echo "Tentative de connexion à $ftp_server en tant que $ftp_user_name";
die;
} else {
echo "Connecté à $ftp_server, avec $user <BR>";
}
//changement de directory, si le répertoire n'existe pas, il faut le créer
ftp_chdir ($conn_id, "dir");
$dir = ftp_pwd($conn_id);
// téléchargement d'un fichier
$upload = ftp_put($conn_id, "$destination_file", "$source_file", $type);
// Vérification de téléchargement
if (!$upload) {
echo "Le téléchargement FTP échoué!";
} else {
echo "Téléchargement de $source_file sur $ftp_server $dir en $destination_file ";
}
// fermeture de la connexion FTP.
ftp_quit($conn_id);
?>