[OK] Souci de la fonction flush();

Cette section vous permet de fournir votre code pour relecture. Les membres pourront vous donner quelques retours concernant leur propre expérience. C'est un bon moyen pour apprendre et s'améliorer.

[OK] Souci de la fonction flush();

Messagepar Build » Jeu Fév 23, 2012 7:24 pm

Bonjours , j'ai un gros souci quand j'utilise mon script en local il fonctionne parfaitement ,
Quand je le met sur mon mutu de chez free-h , ma barre de progression apparaît déjà complète , hors elle ne devrai pas j'ai
test avec un htaccess de désactiver gzip mais hélasse , cela n'as pas résolus mon problème

Voici mon script :
<?php
ob_end_flush();ob_end_flush();ob_end_flush();ob_end_flush();ob_end_flush();ob_end_flush();ob_end_flush();ob_end_flush();
function Initialize($gauche,$haut,$largeur,$hauteur,$bord_col,$txt_col,$bg_col)
{
echo '<div id="wrapperLoader" style="background: #000000 url(IMAGE.png) left center no-repeat; position: absolute; z-index: 9999999; top: 0; left: 0; width: 100%; height: 100%;">';
echo '<div style="width: 240px; height: 125px; padding: 5px; border-radius: 10px; background: rgba(0, 0, 0, 0.7) url(Image.png) center 15px no-repeat; position: absolute; left: 50%; top: 50%; margin-top: -65px; margin-left: -125px;">';
echo '<div id="wrapperLoaderText" style="margin-top: 60px; margin-bottom: 10px; text-align: center; font-family: Arial; color: #FFFFFF; font-size: 10px;">Lido hotel charge! 0% </div>';
echo '<div style="border-radius: 1px; border: 1px solid #FFFFFF; background-color: rgba(0, 0, 0, 0.6); padding: 1px; margin-left: 20px; width: 200px; height: 17px">';
echo '<div id="wrapperLoaderProgress" style="background-color: #8CA1AD; height: 17px; width: 0;">';
echo '<div style="background-color: #BACAD3; height: 9px; width: 100%;"></div></div></div></div>';

flush(); ob_flush();flush(); ob_flush();
}
function ProgressBar($indice)
{
echo "\n<script>";
echo "document.getElementById(\"wrapperLoaderText\").innerHTML='".$indice."%';";
echo "document.getElementById('wrapperLoaderProgress').style.width=".($indice*2).";\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n";
echo "</script>";
flush();ob_flush();flush();ob_flush();;flush();ob_flush();;flush();ob_flush(); // explication : http://www.manuelphp.com/php/function.flush.php
}

?>
<html>
<body>
<?php


//Initialize(x,y,largeur,hauteur,'couleur bordure','couleur du pourcentage','couleur de la barre de progression');
Initialize(50,60,200,30,'#000000','#FFCC00','#006699'); // initialisation de la barre de progression
for ($i=0;$i<=100;$i++)
{
ProgressBar($i); // réaffichage de la barre avec le nouvel indice
//***********************
// ici on mets notre code
for ($j=0;$j<=100000;$j++) {$p=1;} // dans cette exemple, j'ai une boucle de retardement
//**************************
}
?>
</body>
</html>
Cordialement , William Bastard
Service Delivery Manager
IT Department
Image
Tel. : +33 (0)1 41 49 xx xx
Mob : +33 (0)6 67 39 xx xx
William.Bastard.ext@devoteam.com
Build
 
Messages: 28
Inscription: Mer Fév 08, 2012 6:15 pm

Re: Souci de la fonction flush();

Messagepar Dakin Quelia » Jeu Fév 23, 2012 7:27 pm

Bonsoir Build,

Il est plutôt conseillé d'utiliser la balise "code" pour le code.

Cela ne nous dit pas quelle est l'erreur que tu rencontres. ;)

A bientôt,
Pas de support par message privé (mp) ou mail.
Avatar de l’utilisateur
Dakin Quelia
Staff
Staff
 
Messages: 17143
Inscription: Mer Jan 17, 2007 6:02 pm
Localisation: Belgique

Re: Souci de la fonction flush();

Messagepar Build » Jeu Fév 23, 2012 7:29 pm

Sorry pour le bbcode mais mon souci c'est que ça fait une barre de progreession au lieu de charger elle apparai deja complete hors j'ai mis ce code là :
Code: Tout sélectionner
<IfModule mod_gzip.c>
  mod_gzip_on No
  mod_gzip_dechunk No
</IfModule>


dans mon htaccess
Cordialement , William Bastard
Service Delivery Manager
IT Department
Image
Tel. : +33 (0)1 41 49 xx xx
Mob : +33 (0)6 67 39 xx xx
William.Bastard.ext@devoteam.com
Build
 
Messages: 28
Inscription: Mer Fév 08, 2012 6:15 pm

Re: Souci de la fonction flush();

Messagepar Dakin Quelia » Jeu Fév 23, 2012 7:36 pm

Déjà, pour commencer dans ton code, remplace:
Code: Tout sélectionner
ob_end_flush();ob_end_flush();ob_end_flush();ob_end_flush();ob_end_flush();ob_end_flush();ob_end_flush();ob_end_flush(); 

Par:
Code: Tout sélectionner
ob_end_flush(); 
Pas besoin d'en avoir cinquante.

Bref, dans ton code tu as des choses inutiles. Car ça ne sert à rien pour une barre de progression. :)
Pas de support par message privé (mp) ou mail.
Avatar de l’utilisateur
Dakin Quelia
Staff
Staff
 
Messages: 17143
Inscription: Mer Jan 17, 2007 6:02 pm
Localisation: Belgique

Re: Souci de la fonction flush();

Messagepar Build » Jeu Fév 23, 2012 7:40 pm

Meme seul j'ai essayer fonctionne pas !
Cordialement , William Bastard
Service Delivery Manager
IT Department
Image
Tel. : +33 (0)1 41 49 xx xx
Mob : +33 (0)6 67 39 xx xx
William.Bastard.ext@devoteam.com
Build
 
Messages: 28
Inscription: Mer Fév 08, 2012 6:15 pm

Re: Souci de la fonction flush();

Messagepar Dakin Quelia » Jeu Fév 23, 2012 7:41 pm

Sinon, je peux regarder plus attentivement car ce n'est pas là le souci de toute façon.

Mais tu devrais éditer ton message et utiliser la balise code pour rendre le code plus clair. ;)
Pas de support par message privé (mp) ou mail.
Avatar de l’utilisateur
Dakin Quelia
Staff
Staff
 
Messages: 17143
Inscription: Mer Jan 17, 2007 6:02 pm
Localisation: Belgique

Re: Souci de la fonction flush();

Messagepar Build » Jeu Fév 23, 2012 7:42 pm

j'ai supprimer les code inutile cela donne :

Code: Tout sélectionner
<?php
function Initialize($gauche,$haut,$largeur,$hauteur,$bord_col,$txt_col,$bg_col)
  {
  echo  '<div id="wrapperLoader" style="background: #000000 url(http://habbo.hs.llnwd.net/c_images/hotel_view_images_hq/hotelview_xmas10_000.png) left center no-repeat; position: absolute; z-index: 9999999; top: 0; left: 0; width: 100%; height: 100%;">';
  echo   '<div style="width: 240px; height: 125px; padding: 5px; border-radius: 10px; background: rgba(0, 0, 0, 0.7) url(http://lido-hotel.fr/web-gallery/v2/images/habbo.gif) center 15px no-repeat; position: absolute; left: 50%; top: 50%; margin-top: -65px; margin-left: -125px;">';
  echo   '<div id="wrapperLoaderText" style="margin-top: 60px; margin-bottom: 10px; text-align: center; font-family: Arial; color: #FFFFFF; font-size: 10px;">Lido hotel charge! 0% </div>';
  echo  '<div style="border-radius: 1px; border: 1px solid #FFFFFF; background-color: rgba(0, 0, 0, 0.6); padding: 1px; margin-left: 20px; width: 200px; height: 17px">';
  echo  '<div id="wrapperLoaderProgress" style="background-color: #8CA1AD; height: 17px; width: 0;">';
  echo  '<div style="background-color: #BACAD3; height: 9px; width: 100%;"></div></div></div></div>';
 
 }
  function ProgressBar($indice)
  {
    echo "\n<script>";
    echo "document.getElementById(\"wrapperLoaderText\").innerHTML='".$indice."%';";
    echo "document.getElementById('wrapperLoaderProgress').style.width=".($indice*2).";\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n";
    echo "</script>";
    flush();  }

?>
<html>
<body>
<?php

 
//Initialize(x,y,largeur,hauteur,'couleur bordure','couleur du pourcentage','couleur de la barre de progression');
  Initialize(50,60,200,30,'#000000','#FFCC00','#006699');  // initialisation de la barre de progression
  for ($i=0;$i<=100;$i++)
  {
  ProgressBar($i);   // réaffichage de la barre avec le nouvel indice
  //***********************
  // ici on mets notre code
  for ($j=0;$j<=100000;$j++)  {$p=1;} // dans cette exemple, j'ai une boucle de retardement
  //**************************
  }
?>
</body>
</html>
Cordialement , William Bastard
Service Delivery Manager
IT Department
Image
Tel. : +33 (0)1 41 49 xx xx
Mob : +33 (0)6 67 39 xx xx
William.Bastard.ext@devoteam.com
Build
 
Messages: 28
Inscription: Mer Fév 08, 2012 6:15 pm

Re: Souci de la fonction flush();

Messagepar Build » Jeu Fév 23, 2012 7:44 pm

Tu vois le code fonctionne en local , mais sur mon mutualiser free-h avec le code ht access plus haut rien ny fait marche pas !
Cordialement , William Bastard
Service Delivery Manager
IT Department
Image
Tel. : +33 (0)1 41 49 xx xx
Mob : +33 (0)6 67 39 xx xx
William.Bastard.ext@devoteam.com
Build
 
Messages: 28
Inscription: Mer Fév 08, 2012 6:15 pm

Re: Souci de la fonction flush();

Messagepar Dakin Quelia » Jeu Fév 23, 2012 7:45 pm

Et tu as viré le code du .htaccess?
Pas de support par message privé (mp) ou mail.
Avatar de l’utilisateur
Dakin Quelia
Staff
Staff
 
Messages: 17143
Inscription: Mer Jan 17, 2007 6:02 pm
Localisation: Belgique

Re: Souci de la fonction flush();

Messagepar Build » Jeu Fév 23, 2012 7:47 pm

j'ai tout essayer avec sans rien y fait ya un truc qui bloque mon code!
Cordialement , William Bastard
Service Delivery Manager
IT Department
Image
Tel. : +33 (0)1 41 49 xx xx
Mob : +33 (0)6 67 39 xx xx
William.Bastard.ext@devoteam.com
Build
 
Messages: 28
Inscription: Mer Fév 08, 2012 6:15 pm

Re: Souci de la fonction flush();

Messagepar Dakin Quelia » Jeu Fév 23, 2012 7:55 pm

Si tu essayes ceci:
Code: Tout sélectionner
$test 50;
ProgressBar($test);  
Tu verras que ça fonctionne comme tu le souhaites. C'est la boucle "for" qui foire. ;)
Pas de support par message privé (mp) ou mail.
Avatar de l’utilisateur
Dakin Quelia
Staff
Staff
 
Messages: 17143
Inscription: Mer Jan 17, 2007 6:02 pm
Localisation: Belgique

Re: Souci de la fonction flush();

Messagepar Build » Jeu Fév 23, 2012 7:57 pm

Merci je test de ce pas: )
Cordialement , William Bastard
Service Delivery Manager
IT Department
Image
Tel. : +33 (0)1 41 49 xx xx
Mob : +33 (0)6 67 39 xx xx
William.Bastard.ext@devoteam.com
Build
 
Messages: 28
Inscription: Mer Fév 08, 2012 6:15 pm

Re: Souci de la fonction flush();

Messagepar Build » Jeu Fév 23, 2012 7:59 pm

ça affiche 50 % ça bouge pas !
Cordialement , William Bastard
Service Delivery Manager
IT Department
Image
Tel. : +33 (0)1 41 49 xx xx
Mob : +33 (0)6 67 39 xx xx
William.Bastard.ext@devoteam.com
Build
 
Messages: 28
Inscription: Mer Fév 08, 2012 6:15 pm

Re: Souci de la fonction flush();

Messagepar Dakin Quelia » Jeu Fév 23, 2012 8:02 pm

Là, c'est normal. C'est statique. Mais après faut chipoter un peu.

Est-ce une barre de chargement?
Pas de support par message privé (mp) ou mail.
Avatar de l’utilisateur
Dakin Quelia
Staff
Staff
 
Messages: 17143
Inscription: Mer Jan 17, 2007 6:02 pm
Localisation: Belgique

Re: Souci de la fonction flush();

Messagepar Build » Jeu Fév 23, 2012 8:04 pm

oui :) mais la tu me dit mais une var statique mais je met quoi après test pour quel bouge un peut car en JS je suis NUl !
Cordialement , William Bastard
Service Delivery Manager
IT Department
Image
Tel. : +33 (0)1 41 49 xx xx
Mob : +33 (0)6 67 39 xx xx
William.Bastard.ext@devoteam.com
Build
 
Messages: 28
Inscription: Mer Fév 08, 2012 6:15 pm

Suivante

Retourner vers Analyse de code



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités