Import initial du site ship2net.fr : pages PHP, config, traductions t(), composer.json
This commit is contained in:
@@ -0,0 +1,108 @@
|
||||
<?php
|
||||
|
||||
|
||||
//*******************************************************************************************
|
||||
function Connexion_ftp()
|
||||
{
|
||||
$ftp_server = "ftp.trois-etoiles.fr";
|
||||
$ftp_user_name = "troiseto";
|
||||
$ftp_user_pass = "da6VMvRC";
|
||||
|
||||
// Mise en place de la connexion :
|
||||
$id_ftp = ftp_connect($ftp_server);
|
||||
if(!$id_ftp) return (-1); // Connexion impossible...
|
||||
|
||||
// Identification avec un nom d'utilisateur et un mot de passe :
|
||||
$login_result = ftp_login($id_ftp, $ftp_user_name, $ftp_user_pass);
|
||||
if (!$login_result) return(-1);
|
||||
|
||||
return($id_ftp);
|
||||
}
|
||||
|
||||
|
||||
//*******************************************************************************************
|
||||
function Copie_dir_ftp ($id_ftp, $dir_source, $dir_destination)
|
||||
{ // NB : il faut que le répertoire DIR_DESTINATION existe avant l'appel...
|
||||
// NB 2 : les adresses sont absolues...
|
||||
|
||||
// Changement vers le répertoire cible sur le servuer distant :
|
||||
if (!ftp_chdir ($id_ftp, $dir_destination)) return(false);
|
||||
|
||||
// On vérifie si $dir_source est un dossier :
|
||||
if (is_dir($dir_source))
|
||||
{
|
||||
// Si oui, on l'ouvre :
|
||||
if ($dh = opendir($dir_source))
|
||||
{
|
||||
// On liste les dossiers et fichiers de $dir_source
|
||||
while (($file = readdir($dh)) !== false)
|
||||
{
|
||||
|
||||
// S'il s'agit d'un dossier, on créé le sous-dossier destination et on relance la fonction récursive :
|
||||
if(is_dir($dir_source.'/'.$file) && $file != '..' && $file != '.')
|
||||
{
|
||||
// Création du sous-répertoire sur le serveur distant :
|
||||
if (!ftp_mkdir ($id_ftp, $file)) return(false);
|
||||
|
||||
// Lancement de la fonction récursive :
|
||||
Copie_dir_ftp ($id_ftp, $dir_source.'/'.$file, $dir_destination.'/'.$file);
|
||||
|
||||
// Changement vers le répertoire cible sur le servuer distant :
|
||||
if (!ftp_chdir ($id_ftp, $dir_destination)) return(false);
|
||||
}
|
||||
else // S'il sagit d'un fichier, on le copie simplement :
|
||||
{
|
||||
if(($file != '..') AND ($file != '.'))
|
||||
{
|
||||
if (!ftp_put($id_ftp, $dir_destination.'/'.$file, $dir_source.'/'.$file, FTP_BINARY)) return(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// On ferme $dir_source :
|
||||
closedir($dh);
|
||||
}
|
||||
else return(false); // Erreur d'ouverture du répertoire source...
|
||||
|
||||
}
|
||||
else return(false); // Le répertoire source n'est pas un répertoire...
|
||||
|
||||
return(true);
|
||||
}
|
||||
|
||||
|
||||
//*******************************************************************************************
|
||||
function Suppression_dir_ftp($id_ftp, $dossier)
|
||||
{ // Supprime les sous-répertoire et les fichiers qu'ils contiennent puis supprime le répertoire passé en paramètre.
|
||||
|
||||
// Changement vers le répertoire cible :
|
||||
if (!@ftp_chdir ($id_ftp, $dossier)) return(false); // Le '@' devant l'appel de la focntion permet d'éviter l'affichage de message d'erreur (notamment si le répertoire qu'on demande de supprimer n'existe pas...)
|
||||
|
||||
// Recherche de la liste des fichiers et répertoires du répertoire en cours :
|
||||
$liste = ftp_nlist($id_ftp, ".");
|
||||
|
||||
// Boucle sur toute la liste pour supprimer les fichier ou vider les sous-répertoires (appel récursif) puis les supprimer :
|
||||
foreach($liste as $val)
|
||||
{
|
||||
if(ftp_size($id_ftp, $val) != -1) // Cas d'un fichier :
|
||||
{
|
||||
if (!ftp_delete ($id_ftp, $val)) return(false);
|
||||
}
|
||||
else // Cas d'un répertoire :
|
||||
{
|
||||
if (($val != '.') && ($val != '..'))
|
||||
{
|
||||
if (!Suppression_dir_ftp($id_ftp, $val)) return(false); // Appel récursif pour supprimer le sous-dossier...
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Changement vers répertoire parent :
|
||||
if (!ftp_chdir ($id_ftp, "..")) return(false);
|
||||
|
||||
// Suppression du répertoire qui doit être vide :
|
||||
if (!ftp_rmdir ($id_ftp, $dossier)) return(false);
|
||||
|
||||
return(true);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user