/*---------------------------------------------------------------*/
|
/*
|
Titre : Téléchargement d'un dossier FTP
|
|
URL : https://phpsources.net/code_s.php?id=845
|
Date édition : 14 Fév 2019
|
*/
|
/*---------------------------------------------------------------*/
|
|
function ftp_getdir($host , $user , $passwd , $remotedir , $localdir , $port=21)
|
{
|
/* Paramètres
|
* $host : hôte FTP
|
* $user : login
|
* $passwd : mot de passe
|
* $remotedir : dossier à telecharger
|
* $localdir : dossier ou enregister les infos
|
* $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_writable($localdir))
|
return FALSE;
|
|
$list = ftp_nlist($stream, '.');
|
if (is_array($list))
|
{
|
while(list($k, $v) = each($list))
|
{
|
if (@ftp_chdir($stream, $v))
|
{
|
if (!file_exists("$localdir/$v"))
|
mkdir("$localdir/$v", 0777);
|
ftp_getdir($host, $user, $passwd, "$remotedir/$v", "$localdir/$v", $port,
|
$stream);
|
ftp_cdup($stream);
|
}
|
else
|
{
|
$fp = fopen("$localdir/$v", 'w');
|
if (is_resource($fp))
|
ftp_fget($stream, $fp, $v, FTP_BINARY);
|
fclose($fp);
|
}
|
}
|
}
|
|
| ?> |