Copier un repertoire ou deplacer un repertoire

Contenu du snippet

Alors vu que j'ai eu du mal à trouver ce genre de script j'en ai fait un et je le met à porter de tout le monde.
C'est donc une fonction qui permet de déplacer (ou copier) un repertoire et son contenu dans un autre repertoire.

Source / Exemple :


<?php
/*-------------------------------------------------------------------------------------
						FONCTION PRINCIPAL DEPLACER REPERTOIRE
-------------------------------------------------------------------------------------*/
function Deplacer_Repertoire($Source,$Cible,$SupprimerOriginal=false){
	if(substr($Source,-1,1)!=DIRECTORY_SEPARATOR){$Source.=DIRECTORY_SEPARATOR;}
	if(substr($Cible,-1,1)!=DIRECTORY_SEPARATOR){$Cible.=DIRECTORY_SEPARATOR;}
	
	
	$Rep_Source = opendir($Source);   
      
	while($Contenu = readdir($Rep_Source)){   
		if($Contenu != "." and $Contenu!=".."){ 
			if(is_dir($Source.$Contenu) ){   
				mkdir($Cible.$Contenu);
				Deplacer_Repertoire($Source.$Contenu,$Cible.$Contenu);
				if($SupprimerOriginal){
					rmdir($Source.$Contenu);
				}
			}else{ 
				if($SupprimerOriginal){
					rename($Source.$Contenu,$Cible.$Contenu);
				}else{
					copy($Source.$Contenu,$Cible.$Contenu);
				} 
			}   
		}   
      
    }   
      
     closedir($Rep_Source);   
	if($SupprimerOriginal){
		rmdir($Source);
	}  

}
/*-------------------------------------------------------------------------------------
						COMMANDE DE DEPLACEMENT
-------------------------------------------------------------------------------------*/
Deplacer_Repertoire(dirname(__FILE__).DIRECTORY_SEPARATOR."melrose".DIRECTORY_SEPARATOR, dirname(__FILE__).DIRECTORY_SEPARATOR."Ok".DIRECTORY_SEPARATOR);
?>

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.