J'ai une grande quantité de données à déplacer en utilisant deux scripts PHP : un côté client utilisant une ligne de commande scripts PHP et l'autre derrière Apache. Je POSTE les données du côté du serveur et j'utilise php://input stream pour les sauvegarder du côté du serveur web. Pour éviter d'atteindre les limites de mémoire, les données sont séparées en morceaux de 500kB pour chaque requête POST. Tout cela fonctionne bien.
Maintenant, pour économiser la bande passante et l'accélérer, je veux compresser les données avant de les envoyer et les décompresser lorsqu'elles sont reçues à l'autre bout. J'ai trouvé 3 paires de fonctions qui peuvent faire le travail, mais je ne peux pas décider laquelle utiliser :
Quelle paire de fonctions recommanderiez-vous et pourquoi ?
UPDATE : Je viens de lire la FAQ de zlib :
Le format gzip ( gzencode
) a été conçu pour conserver les informations du répertoire concernant un seul fichier, comme le nom et la date de dernière modification. Le format zlib ( gzcompress
), d'autre part, a été conçu pour les applications en mémoire et les canaux de communication. Il possède un en-tête et une fin beaucoup plus compacts et utilise un contrôle d'intégrité plus rapide que gzip.
1 votes
gzdecode()
ne semble pas encore être disponible en php, donc à éviter.1 votes
gzdecode()
est défini uniquement pour PHP 5.4.0 ou plus récent : php.net/manual/fr/function.gzdecode.php