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 :
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.
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']); } }
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
Partager