Aller au contenu

PHP : Copie de fichiers d’un serveur Windows A vers un serveurs Windows B et C

<?php

// Serveur A
$srcServer = "//server-a/sharedfolder";

// Serveur B
$dstServer1 = "//server-b/sharedfolder";

// Serveur C
$dstServer2 = "//server-c/sharedfolder";

// Utilisateur et mot de passe pour se connecter aux serveurs
$user = "username";
$password = "password";

// Répertoire des fichiers à copier
$srcDir = "C:/path/to/files/";

// Ouvre une connexion SMB à chaque serveur de destination
$smb1 = smbclient_open($dstServer1, $user, $password);
$smb2 = smbclient_open($dstServer2, $user, $password);

// Vérifie si les connexions ont réussi
if (!$smb1 || !$smb2) {
    die("Impossible de se connecter aux serveurs de destination");
}

// Récupère la liste des fichiers à copier
$files = scandir($srcDir);

// Boucle sur chaque fichier et copie-le vers les serveurs de destination
foreach ($files as $file) {
    // Ignore les dossiers '.' et '..'
    if ($file == "." || $file == "..") {
        continue;
    }

    // Construit les chemins complets des fichiers source et de destination
    $srcFile = $srcDir . $file;
    $dstFile1 = $dstServer1 . $file;
    $dstFile2 = $dstServer2 . $file;

    // Copie le fichier vers les serveurs de destination
    smbclient_put($smb1, $dstFile1, $srcFile);
    smbclient_put($smb2, $dstFile2, $srcFile);
}

// Ferme les connexions SMB
smbclient_close($smb1);
smbclient_close($smb2);

echo "Fichiers copiés avec succès vers les serveurs de destination";

?>
Étiquettes:

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *