Précédent   Forum des professionnels en informatique > PHP > Langage
Langage Forum sur le langage PHP, la POO, les conventions, la sécurité, etc. Avant de poster : FAQ Langage, toutes les FAQ PHP, cours langage et sources PHP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 22/05/2007, 13h22   #1
mtq
Invité régulier
 
Inscription : mars 2006
Messages : 35
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 35
Points : 6
Points : 6
Par défaut Compression de fichiers HTML

Bonjour a tous,

J'ai un script php qui genere des page HTML, je souhaiterai savoir si il y avait possibilité des les compresser. Un peu comme le logiciel HTMLCompact.

Merci a tous
mtq est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/05/2007, 13h39   #2
Membre éprouvé
 
Avatar de GregPeck
 
Inscription : novembre 2005
Messages : 530
Détails du profil
Informations forums :
Inscription : novembre 2005
Messages : 530
Points : 464
Points : 464
Tu peux activer la compression gzip dans la configuration php.ini.
GregPeck est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/05/2007, 14h26   #3
mtq
Invité régulier
 
Inscription : mars 2006
Messages : 35
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 35
Points : 6
Points : 6
Donc en utilisant la compression GZip je peut quand meme compresser la page html et y avoir acces normalement en tapant: http://mysite.com/page.html ?
mtq est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/05/2007, 14h30   #4
Membre éprouvé
 
Avatar de GregPeck
 
Inscription : novembre 2005
Messages : 530
Détails du profil
Informations forums :
Inscription : novembre 2005
Messages : 530
Points : 464
Points : 464
Oui en activant cette fonctionalités. Ton serveur compressera automatiquement tes pages si le visiteur à un navigateur qui peux les décompresser.

Pour le visiteur il n'y a aucune différence, si ce n'est que le transfers à été un peu plus vite.
GregPeck est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/05/2007, 14h40   #5
mtq
Invité régulier
 
Inscription : mars 2006
Messages : 35
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 35
Points : 6
Points : 6
Ok je te remcercie je vais essayer cela
tant que je gagne de la place serveur est le principal
mtq est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/05/2007, 14h44   #6
Membre Expert
 
Inscription : janvier 2005
Messages : 2 288
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 2 288
Points : 2 287
Points : 2 287
Ca fera pas gagner de la place sur le serveur, c'est pour le transfert a l'utilisateur qu'elle sera compressée si j'ai bien compris.
koopajah est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/05/2007, 14h45   #7
Rédacteur/Modérateur
 
Avatar de _Mac_
 
Inscription : août 2005
Messages : 8 306
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 8 306
Points : 8 590
Points : 8 590
Citation:
Envoyé par mtq
tant que je gagne de la place serveur est le principal
Attention : ce que te propose GregPeck, ce n'est pas de compresser tes scripts PHP mais de compresser en GZip les données (pages HTML finales) envoyées au navigateur. Avec cette option, tes scripts PHP restent tels quels.

Tu cherches à avoir des fichiers .php plus petits, c'est ça, pour qu'ils prennent moins de place sur les disques du serveur ? Dans ce cas, je ne connais pas de solution autre que d'optimiser ton code en supprimant les sauts de lignes et les commentaires comme le fait effectivement HTMLCompact.

T'es si court que ça en espace disque ?
__________________

Du détail, du détail, du détail !!!
Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute
_Mac_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/05/2007, 16h22   #8
mtq
Invité régulier
 
Inscription : mars 2006
Messages : 35
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 35
Points : 6
Points : 6
Citation:
Envoyé par _Mac_
Tu cherches à avoir des fichiers .php plus petits, c'est ça, pour qu'ils prennent moins de place sur les disques du serveur ? Dans ce cas, je ne connais pas de solution autre que d'optimiser ton code en supprimant les sauts de lignes et les commentaires comme le fait effectivement HTMLCompact.

T'es si court que ça en espace disque ?
Oui effectivement je cherche a avoir des .html plus petit comme le fait HTMLCompact. j'ai testé avec une page en supprimant commentaire et saut de ligne et je n'arrive pas au resultat du logiciel

Court oui et non , mais si j'ai enormement de page .html (au long therme) d'environ 75Ko si je peut les reduire a environ 50% comme le logiciel sa sera pas mal deja
mtq est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/05/2007, 22h28   #9
Membre du Club
 
Inscription : août 2003
Messages : 49
Détails du profil
Informations forums :
Inscription : août 2003
Messages : 49
Points : 50
Points : 50
Bonjour,

Voilà mon code perso pour compresser le html (mixe de différentes sources de php.net)
désolé mais c'est pas du tout commenté.

Utilise-le sur ton code html avant de les mettre sur ton serveur

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
 
function compress_html($buffer){
 
    $poz_current = 0;
    $poz_end = strlen($buffer)-1;
    $result = '';
 
    function compressbuffer_html($buffer)
    {
        $search = array('/\>[^\S ]+/s' , '/[^\S ]+\</s' , '/(\s)+/s');
        $replace = array( '>' , '<' , '\\1');
        $buffer = preg_replace($search, $replace, $buffer);
        $buffer = ereg_replace('<!\-\- [\/\ a-zA-Z]* \-\->', '', $buffer);
        return $buffer;
    }
 
    while ($poz_current < $poz_end){
        $t_poz_start = strpos($buffer, '<textarea', $poz_current);
        if ($t_poz_start === false){
            $buffer_part_2strip = substr($buffer, $poz_current);
            $temp = compressbuffer_html($buffer_part_2strip);
            $result .= $temp;
            $poz_current = $poz_end;
        }
        else{
            $buffer_part_2strip = substr($buffer, $poz_current, $t_poz_start-$poz_current);
            $temp = compressbuffer_html($buffer_part_2strip);
            $result .= $temp;
            $t_poz_end = strpos($buffer, '</textarea>', $t_poz_start);
            $temp = substr($buffer, $t_poz_start, $t_poz_end-$t_poz_start);
            $result .= $temp;
            $poz_current = $t_poz_end;
        }
    }
    return $result;
}
Je crois qu'il reste encore quelques espace vide en résultat mais c'est déjà ça.

++
Snowboarder69 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h19.


 
 
 
 
Partenaires

Hébergement Web