Bonjour,
Je suis actuellement en train de réaliser un cron, permettant de mettre a jour notre liste de produits en fonction des fichiers CSV mis à disposition par nos partenaires.
Une des premières étapes consiste a enregistrer dans un dossier local les fichiers CSV :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
// Parcours de la liste des CSV
foreach ($this->_csvList as $plateformId => $rien) {
 
  // Recuperation de l'URL du catalogue et de l'eventuelle compression gzip
  $urlFile = $this->_csvList[$plateformId]['catalogue'];
  $isGzip = $this->_csvList[$plateformId]['gzip'];
 
  $destination = ROOT_PATH . 'data/catalogues/plateforme-' . $plateformId . '.csv';
 
  if (!copy($urlFile, $destination)) {
    throw new Exception("Erreur lors du telechargement du fichier CSV de la plateforme " . $this->_csvList[$plateformId]['name']);
  }
}
Vous aurez certainement remarqué la variable $isGzip, en effet, environ 60% des fichiers que je doit récupérer sont compressés au format gzip, je doit donc les décompresser pour les avoir au format csv afin de les traiter dans l'étape suivante.

Malheureusement après de longues recherches sur google, je n'ai pas trouvé de fonction efficace pour la décompression gzip
Merci d'avance à ceux qui pourront me donner un coup de main