/*---------------------------------------------------------------*/
|
/*
|
Titre : Upload d'un dossier sur un serveur FTP
|
|
URL : https://phpsources.net/code_s.php?id=867
|
Date édition : 14 Fév 2019
|
*/
|
/*---------------------------------------------------------------*/
|
|
function ftp_putdir($host , $user , $passwd , $localdir , $remotedir , $port=21)
|
{
|
/* Paramètres
|
* $host : hôte FTP
|
* $user : login
|
* $passwd : mot de passe
|
* $localdir : dossier à envoyer
|
* $remotedir : dossier ou stocker les fichiers
|
* $port : port de connexion
|
*/
|
if (func_num_args() == 7)
|
{
|
$stream = func_get_args(6);
|
}
|
else
|
{
|
$stream = ftp_connect($host, $port);
|
if (!ftp_login($stream, $user, $passwd))
|
return FALSE;
|
if (!ftp_chdir($stream, $remotedir))
|
return FALSE;
|
}
|
if (!is_readable($localdir))
|
return FALSE;
|
|
$dir = opendir($localdir);
|
if (is_resource($dir))
|
{
|
while($v = readdir($dir))
|
{
|
if ($v == '.' || $v == '..')
|
continue;
|
|
if (is_dir("$localdir/$v"))
|
{
|
if (!(@ftp_chdir($stream, "$v")))
|
{
|
ftp_mkdir($stream, "$v");
|
ftp_chdir($stream, "$v");
|
}
|
ftp_putdir($host, $user, $passwd, "$localdir/$v", "$remotedir/$v", $port,
|
$stream);
|
ftp_cdup($stream);
|
}
|
else
|
{
|
$fp = fopen("$localdir/$v", 'r');
|
if (is_resource($fp))
|
{
|
ftp_fput($stream, $v, $fp, FTP_BINARY);
|
fclose($fp);
|
}
|
}
|
}
|
}
|
|
| ?> |