function CopyEntites($RepSrc, $RepDest)
{
// Handle du repertoire source
$Handle = @opendir($RepSrc);
// Listing
while ( $File = readdir($Handle) )
{
// Chemin absolu du fichier/repertoire trouvee et chemin absolu de la destination
$PathSrc = $RepSrc.'/'.$File;
$PathDest = $RepDest.'/'.str_replace(' ', '_', str_replace(' ', '_', $File));
// Si on a trouve un fichier
if ( !is_dir($PathSrc) )
{
$ResCopy = @copy($PathSrc, $PathDest);
if ( !$ResCopy )
echo 'Impossible de copier '.$PathSrc.' vers '.$PathDest.'<br>';
}
// Ou un dossier
elseif( is_dir($PathSrc) && ($File != '.') && ($File != '..') )
{
// Si on a trouve un dossier, on cree un dossier identique (en virant les espaces) dans le dir de destination
$NewFile = str_replace(' ', '_', $File); // enleve les espaces
$NewFile = str_replace(' ', '_', $NewFile); // enleve la combinaison ALT + 0160
// Creation du repertoire
$ResMk = @mkdir($PathDest.'/'.$NewFile, 0777);
if ( !$ResMk )
echo 'Impossible de copier le repertoire '.$NewFile.' vers '.$PathDest.'<r>';
else
CopyEntites($PathSrc.'/'.$NewFile, $PathDest.'/'.$NewFile);
}
}
// Fermeture du repertoire
@closedir($Handle);
}
Un petit truc que j'ai fait pour mon album photo. Tu devra surement l'adapter pour qui'l fonctionne comme tu le veux. Pour en avoir d'autre regarde ma souce http://www.phpcs.com/codes/PHP4-MYSQL-ALBUM-PHOTO-PARTIE-ADMIN-AVEC-BDD_38654.aspx
(dans config/scritps/fonctions.php), peut y avoir des trucs qui t'interesse...
@+
