Position actuelle: Accueil> Derniers articles> Comment utiliser PHP pour implémenter un transfert de fichiers inter-serveur sur le serveur Linux

Comment utiliser PHP pour implémenter un transfert de fichiers inter-serveur sur le serveur Linux

M66 2025-07-08

1. Introduction

Pendant le transfert de fichiers inter-serveur, il est généralement nécessaire de transférer des fichiers d'un serveur à un autre. Cet article présentera comment implémenter cette opération sur un serveur Linux via des scripts PHP et inclura des exemples de code spécifiques.

2. Préparation

Avant d'écrire des scripts PHP, assurez-vous que votre serveur a déjà l'environnement suivant:

  • Installez PHP: assurez-vous que PHP est installé sur le serveur Linux et que la version répond aux exigences du script.
  • Définir les autorisations du répertoire des fichiers: assurez-vous que le répertoire où le fichier est situé a des autorisations de lecture et d'écriture pour lire et écrire des fichiers.
  • La configuration de SSH: l'authentification de la clé SSH doit être configurée entre les serveurs pour assurer la sécurité du transfert de fichiers.

3. Écriture de script PHP

Voici un exemple de script PHP pour implémenter le transfert de fichiers inter-serveur sur un serveur Linux:

<?php
 // Informations sur le serveur source
 $ SourceServer = Array (
 &#39;host&#39; => &#39;Adresse IP du serveur source&#39;,
 &#39;port&#39; => &#39;port ssh (par défaut 22)&#39;,
 &#39;username&#39; => &#39;Source Server Nom d&#39;utilisateur&#39;,
 &#39;Mot de passe&#39; => &#39;Mot de passe du serveur source&#39;,
 ));
 // Informations sur le serveur cible
 $ TargetServer = Array (
 &#39;host&#39; => &#39;Adresse IP du serveur cible&#39;,
 &#39;port&#39; => &#39;port ssh (par défaut 22)&#39;,
 &#39;username&#39; => &#39;nom d&#39;utilisateur de serveur cible&#39;,
 &#39;Mot de passe&#39; => &#39;Mot de passe du serveur cible&#39;,
 ));
 // Chemin de fichier source
 $ sourcefile = &#39;/ path / to / source / file&#39;;
 // Chemin de fichier cible
 $ cibleFile = &#39;/ path / to / cible / file&#39;;
 // Créer une connexion SSH (serveur source)
 $ sshsource = ssh2_connect ($ SourceServer [&#39;Host&#39;], $ SourceServer [&#39;Port&#39;]);
 ssh2_auth_password ($ sshsource, $ SourceServer [&#39;username&#39;], $ SourceServer [&#39;Mot de passe&#39;]);
 // Créer une connexion SSH (serveur cible)
 $ sshtarget = ssh2_connect ($ cibleServer [&#39;host&#39;], $ cibleServer [&#39;port&#39;]);
 ssh2_auth_password ($ sshtarget, $ cibleServer [&#39;username&#39;], $ cibleServer [&#39;mot de passe&#39;]);
 // Effectue un transfert de fichiers (du serveur source vers le serveur Target)
 if (ssh2_scp_recv ($ sshsource, $ sourcefile, $ ciblefile)) {
 Echo «Le transfert de fichiers réussit»;
 } autre {
 Echo «Fichier Transfert a échoué»;
 }
 // Fermer la connexion SSH
 ssh2_disconnect ($ sshsource);
 ssh2_disconnect ($ sshtarget);
 ?>

4. Résumé

Avec cet exemple de script PHP, vous pouvez implémenter le transfert de fichiers entre les serveurs Linux. Dans les applications réelles, vous pouvez modifier et optimiser le code en fonction des besoins spécifiques.

Afin d'assurer la sécurité du transfert de fichiers, il est recommandé d'utiliser l'authentification des clés SSH au lieu de l'authentification du mot de passe pour la connexion.