Compression récursive en PHP
7 messages
• Page 1 sur 1
- sky
- WRInaute occasionnel

- Messages: 260
- Inscription: 3 Mar 2003
Compression récursive en PHP
Bonjour
J'essaye de trouver un moyen de compresser un répertoire avec des fichiers à l'intérieur avec PHP.
En utilisant GZIP, j'arrive à compresser 1 seul fichier, mais pas plus.
est ce quelqu'un connais une autre méthode ou un autre moyen pour faire ceci ?
Merci d'avance,
Sky
J'essaye de trouver un moyen de compresser un répertoire avec des fichiers à l'intérieur avec PHP.
En utilisant GZIP, j'arrive à compresser 1 seul fichier, mais pas plus.
est ce quelqu'un connais une autre méthode ou un autre moyen pour faire ceci ?
Merci d'avance,
Sky
- sky
- WRInaute occasionnel

- Messages: 260
- Inscription: 3 Mar 2003
Slt
Oui, j'ai trouvé cette lib, elle est vachement sympa, mais pour ce que je veut en faire ça ne va pas car pas tout le monde à accée aux lib de phpmyadmin.
Il me faudrai qqchose que la plupart des hébergeurs aurais de base. Je pensé pas avoir autant de mal à trouver comment faire une compression récursive ^^
Surtout que la lecture récursive d'un .zip ou gzip est relativement simple
Sky
Oui, j'ai trouvé cette lib, elle est vachement sympa, mais pour ce que je veut en faire ça ne va pas car pas tout le monde à accée aux lib de phpmyadmin.
Il me faudrai qqchose que la plupart des hébergeurs aurais de base. Je pensé pas avoir autant de mal à trouver comment faire une compression récursive ^^
Surtout que la lecture récursive d'un .zip ou gzip est relativement simple
Sky
- ChezThierry
- WRInaute occasionnel

- Messages: 273
- Inscription: 21 Oct 2005
Le problème, c'est que gzip ne compresse qu'un fichier, contrairement à ZIP. Son but était (et il y a réussi) de remplacer l'utilitaire unix compress qui, lui aussi, ne fonctionne qu'1 fichier par 1 fichier.
Sous unix, du coup, pour créer une archive compressé de tout un répertoire, on utilise conjointement tar et gzip, tar "collant" tous les fichiers en 1 seul fichier non compressé, et gzip compressant le résultat de tar, comme ça, chacun fait son boulot et le fait bien
Sous unix, du coup, pour créer une archive compressé de tout un répertoire, on utilise conjointement tar et gzip, tar "collant" tous les fichiers en 1 seul fichier non compressé, et gzip compressant le résultat de tar, comme ça, chacun fait son boulot et le fait bien
- sky
- WRInaute occasionnel

- Messages: 260
- Inscription: 3 Mar 2003
ok, merci
je vais donc juste inclure cette librairie de phpmyadmin dans mon script ... zut
Merci en tout cas...
Pour ceux qui chercherai, voici qq, voici un script qui compresse un répertoire avec cette lib :
je vais donc juste inclure cette librairie de phpmyadmin dans mon script ... zut
Merci en tout cas...
Pour ceux qui chercherai, voici qq, voici un script qui compresse un répertoire avec cette lib :
- Code: Tout sélectionner
<?php
require_once("zip.lib.php"); // librairie zip.lib, que l'on trouve avec phpmyadmin
$fichier_zip = "zip.zip"; // nom du fichier zip que l'on veut
$zip= new zipfile;
$path = "repertoire"; // repertoire que l'on veut zipper
set_time_limit (1000); // a parametrer selon vos souhaits
function zipDir($path,&$zip)
{
if (!is_dir($path)) return;
if (!($dh = @opendir($path))) {
echo("<b>ERREUR: Une erreur s'est produite sur ".$path."</b><br />");
return;
}
while ($file = readdir($dh)) {
if ($file == "." || $file == "..") continue; // Throw the . and .. folders
if (is_dir($path."/".$file)) { // Recursive call
zipDir($path."/".$file,$zip,$i);
} elseif (is_file($path."/".$file)) { // If this is a file then add to the zip file
$zip->addFile(file_get_contents($path."/".$file),$path."/".$file);
//echo('fichier '.$path.'/'.$file.' ajouté<br>');
}
}
}
zipDir($path,$zip);
$filezipped=$zip->file(); // On recupere le contenu du zip dans la variable $filezipped
$open = fopen($fichier_zip, "w"); // On la sauvegarde dans le meme repertoire que les fichiers a zipper
fwrite($open, $filezipped);
fclose($open);
?>
- sky
- WRInaute occasionnel

- Messages: 260
- Inscription: 3 Mar 2003
Vous savez pas quoi?
Pour compresser ... en fin de compte, c'est lib est vraiment sympathique.
Par contre, elle décompresse pas
Pour décompresser, il faut installer zlib ....
Vous saurez pas comment on compresse un fichier en tar.gz en php svp ?
Merci
Pour compresser ... en fin de compte, c'est lib est vraiment sympathique.
Par contre, elle décompresse pas
Pour décompresser, il faut installer zlib ....
Vous saurez pas comment on compresse un fichier en tar.gz en php svp ?
Merci
-

Digit - WRInaute impliqué

- Messages: 613
- Inscription: 18 Avr 2003
Attention à la conso mémoire lors de la compression. Si je me souviens bien, ça ne passe pas par un fichier temporaire, donc la compression d'un répertoire correspond à stocker en mémoire le zip final avant qu'il ne soit écrit sur disque. Un gros répertoire vous fera planter votre script si vous avez des quotas comme sur un hébergement mutualisé.
Faire un .tar.gz doit être techniquement plus simple car le .tar ajoute quelques entête, et copie tel quel le fichier, et le .gz est réalisable par les fonctions natives de php. Ca doit donc facilement se trouver sur google : il y a au moins celle-ci ou celle là
Faire un .tar.gz doit être techniquement plus simple car le .tar ajoute quelques entête, et copie tel quel le fichier, et le .gz est réalisable par les fonctions natives de php. Ca doit donc facilement se trouver sur google : il y a au moins celle-ci ou celle là
7 messages
• Page 1 sur 1
Lectures recommandées sur ce thème :
- script compression d image jpg en 256 ? php
- La réécriture récursive
- pb sur reecriture dURL recursive
- Fonction récursive et indentation des éléments
- Prob de chown sur répertoire et récursive
- petit probleme avec rewriting recursive
- Problème compression web
- Compression d'images
- Compression du code automatique
- Compression Gzip/css
- Google a désigné le vainqueur du concours de programmation 2002 - 31-05-2002
- Vidéos YouTube 4096 x 3072 pixels (4K) - 12-07-2010
- Algorithme de détection du link spam de masse - 09-11-2005
- Tutoriel mod_pagespeed en français - 04-11-2010
- Description du TrustRank - 06-06-2005
- Référencement des images : l'attribut ALT de la balise IMG - 04-08-2008
- Comment rendre son site plus rapide : toutes les solutions - 04-11-2010
- Résumé de Google en 2009 : produits, algorithme, interface... - 04-01-2010
Consultez la description détaillée des produits ou services de Google suivants : Google Web Accelerator
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités
