"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment récupérer des fichiers FTP dans des variables PHP ?

Comment récupérer des fichiers FTP dans des variables PHP ?

Publié le 2024-11-12
Parcourir:546

How do you Retrieve FTP Files into PHP Variables?

Récupération de fichiers FTP dans une variable PHP : un guide détaillé

Lorsque vous travaillez avec des fichiers distants, il est souvent nécessaire de lire leur contenu dans des variables pour traitement ultérieur. PHP offre une gamme de fonctions pour accomplir cette tâche spécifiquement pour les serveurs FTP.

Méthode utilisant file_get_contents()**

Le file_get_contents() La fonction est une solution simple pour récupérer le contenu d'un fichier à partir d'un serveur FTP. Sa syntaxe est :

$contents = file_get_contents('ftp://username:password@hostname/path/to/file');

Si le contenu est récupéré avec succès, il sera stocké dans la variable $contents. Cette méthode convient à la plupart des cas d’utilisation. Toutefois, si vous avez besoin de plus de contrôle sur le processus de transfert ou si vous rencontrez des problèmes dus aux paramètres du wrapper d'URL, une approche alternative est disponible.

Méthode utilisant ftp_fget()**

La fonction ftp_fget() offre un contrôle plus précis sur la récupération des fichiers. Cela implique les étapes suivantes :

  1. Établissez une connexion FTP à l'aide de ftp_connect() et ftp_login().
  2. Activer le mode passif pour certains serveurs FTP en utilisant ftp_pasv().
  3. Ouvrir un pointeur de fichier temporaire en mémoire en utilisant fopen () pour stocker le contenu du fichier.
  4. Lancez le transfert de fichiers à l'aide de ftp_fget(), en spécifiant le chemin du fichier distant, le mode de transfert et le décalage si nécessaire .
  5. Lire le contenu du fichier dans une variable en utilisant fstat(), fseek() et fread().

Extrait de code :

$conn_id = ftp_connect('hostname');
ftp_login($conn_id, 'username', 'password');
ftp_pasv($conn_id, true);

$h = fopen('php://temp', 'r ');
ftp_fget($conn_id, $h, '/path/to/file', FTP_BINARY, 0);
$fstats = fstat($h);
fseek($h, 0);
$contents = fread($h, $fstats['size']);

fclose($h);
ftp_close($conn_id);

Cette approche offre une plus grande flexibilité pour les scénarios avancés de gestion de fichiers FTP.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3