Aller au contenu

PHP : Script pour envoyer un fichier sur un serveur FTP

Ce script permet d’automatiser le transfert de fichiers vers un serveur FTP à l’aide d’un script en ligne de commande. Il permet de vérifier la présence du fichier avant de l’envoyer et affiche un message en cas de succès ou d’erreur.

Ftp Icon

Le transfert de fichiers est une opération courante dans de nombreux contextes, tels que la sauvegarde de fichiers sur un serveur distant, le partage de fichiers avec des partenaires commerciaux ou le déploiement d’applications web. Ce script peut être utile pour les administrateurs système, les développeurs web et toute personne ayant besoin de transférer des fichiers de manière fiable et automatisée.

En utilisant ce script, les utilisateurs peuvent économiser du temps et minimiser les erreurs manuelles en automatisant le transfert de fichiers vers un serveur FTP. Cela peut également améliorer la sécurité en utilisant des connexions FTP sécurisées pour transférer des fichiers sensibles.

<?php
$host = 'NomDuSiteFtp';
$user = 'Utilisateur';
$password = 'MotDePassUtilisateur';
$file = $argv[1];

// Vérifie la présence du fichier
if (!file_exists($file)) {
    echo "----------------------------------\n";
    echo "[ERREUR] le fichier $file n'existe pas veuillez vérifier son emplacement\n";
    echo "[ERREUR] Sorti code retour 15\n";
    echo "----------------------------------\n";
    exit(15);
}

// Transfert FTP
$conn = ftp_connect($host);
if (!$conn) {
    echo "----------------------------------\n";
    echo "[ERREUR] Impossible de se connecter au serveur FTP $host\n";
    echo "[ERREUR] Sorti code retour 16\n";
    echo "----------------------------------\n";
    exit(16);
}

if (!ftp_login($conn, $user, $password)) {
    echo "----------------------------------\n";
    echo "[ERREUR] Impossible de se connecter au serveur FTP avec l'utilisateur $user\n";
    echo "[ERREUR] Sorti code retour 16\n";
    echo "----------------------------------\n";
    ftp_close($conn);
    exit(16);
}

if (!ftp_put($conn, "incoming/" . basename($file), $file, FTP_BINARY)) {
    echo "----------------------------------\n";
    echo "[ERREUR] Probléme lors de l'envoi du fichier $file vers $host\n";
    echo "[ERREUR] Sorti code retour 16\n";
    echo "----------------------------------\n";
    ftp_close($conn);
    exit(16);
}

echo "----------------------------------\n";
echo "[INFO] Envoi avec succès du fichier $file vers $host\n";
echo "----------------------------------\n";

ftp_close($conn);
exit(0);
?> 
Étiquettes:

Laisser un commentaire

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