Accueil > > > PROGRESS BAR : CLASSE PHP4
PROGRESS BAR : CLASSE PHP4
Information sur la source
Description
Cette classe est basée directement sur le code de "frop01" qui se trouve ici: http://www.phpcs.com/code.aspx?id=32601 J'en ai juste fait une classe (et fait qques changement (timeout, ajout de texte, hide,..) car j'en avais besoin, et donc..ça peut servir.. je l'ai testé sous Firefox, je pense qu'elle doit fonctionne sous IE..
Source
- //la classe (fichier class_progressbar.inc)
- <?php
-
- class ProgressBar{
-
- //----------------- parameters -----------------
- // position parameters
- var $top=60;
- var $left=50;
- var $width=200;
- var $height=30;
-
- //color parameters
- var $border_color='#000000';
- var $percent_color='#FFCC00';
- var $txt_color='#000000';
- var $background_color='#006699';
-
- //size parameters;
- var $percent_size=15;
- var $txt_size=15;
-
- //html parameter
-
- //----------------- private functions -----------------
- function Hide(){
- echo '<script>';
- echo 'document.getElementById("myprogressbar").style.display="none";';
- echo "</script>";
- }
-
- //----------------- public functions -----------------
- function setPosition($left,$top, $width, $height){
- $this->top=$top;
- $this->left=$left;
- $this->width=$width;
- $this->height=$height;
- }
-
- function setColors($border_color,$percent_color,$txt_color,$background_color){
- $this->border_color=$border_color;
- $this->percent_color=$percent_color;
- $this->txt_color=$txt_color;
- $this->background_color=$background_color;
- }
-
- function setSizes($percent_size, $txt_size){
- $this->percent_size=$percent_size;
- $this->txt_size=$txt_size;
- }
-
- function generateHTML(){
- $html='<div id="myprogressbar" style="display:block;position:absolute;top:'.$this->top;
- $html.=';left:'.$this->left;
- $html.=';width:'.$this->width.'px;">';
-
- //progress bar div
- $html.='<div id="progrbar" style="position: relative; top: 0px';
- $html.=';left: 1px';
- $html.=';width:0px';
- $html.=';height:'.$this->height.'px';
- $html.=';background-color:'.$this->background_color.';z-index:0;"></div>';
-
- //percent div
- $html.='<div id="percent" style="position:relative;top:-'.($this->height+1).'px';
- $html.=';left: 0px';
- $html.=';width: 100%';
- $html.=';height:'.$this->height.'px;border:1px solid '.$this->border_color.';font-family:Tahoma;font-weight:bold';
- $html.=';font-size:'.$this->percent_size.'px;color:'.$this->percent_color.';z-index:1;text-align:center;">0%</div>';
-
- //text div
- $txttop=$this->top+1+$this->height+1;
- $html.='<div id="progrbartxt" style="position:relative;top:-'.($this->height).'px';
- $html.=';left:0px';
- $html.=';width: 100%';
- $html.=';text-align:center';
- $html.=';font-size:'.$this->txt_size.'px;color:'.$this->txt_color.';z-index:1;text-align:center;">loading</div>';
-
- $html.='</div>';
- return $html;
- }
-
- function SetTimeOut($timeout){
- set_time_limit($timeout); //need safe mode off !
- }
-
- function SetPercent($percent, $text=""){
- echo '<script>';
- echo 'document.getElementById("percent").innerHTML="'.$percent.'%";';
- echo 'document.getElementById("progrbar").style.width="'.($percent*2).'";';
- if (!empty($text))
- {
- echo 'document.getElementById("progrbartxt").innerHTML="'.$text.'";';
- }
- echo '</script>';
- flush();
- }
-
- function End($hide=true){
- echo '<script>';
- echo 'document.getElementById("percent").innerHTML="100%";';
- echo 'document.getElementById("progrbar").style.width="200";\n';
- echo 'document.getElementById("progrbartxt").innerHTML="loaded !";';
- echo '</script>';
- flush();
- if (!empty($hide))
- $this->Hide();
- }
-
- }
- ?>
-
- //la page de test
- <html>
- <body>
- <?php
- include ('class_progressbar.inc');
- $pb=new ProgressBar;
-
- //optional
- $pb->setPosition(200, 50, 200, 20); //optionnal (default value are defined)
- $pb->setColors('#000000','#FFCC00','#FF0000','#006699'); ////optionnal (default value are defined)
- $pb->setSizes(15, 18);
- $pb->setTimeout(30);
-
- //generate html
- echo $pb->generateHTML();
-
- //simulate a "time consuming" task
- for ($i=0;$i<=100;$i++)
- {
- $pb->setPercent($i,'loading message');
- for ($j=0;$j<=100000;$j++) {$p=1;}
- $p=1;
- }
- //end the progress bar (and hide it when finished)
- $pb->End(); //or $pb->End(false) to avoid hidding progress bar
- ?>
- <div style="positon:relative">your document is now loaded !</div>
- </body>
- </html>
//la classe (fichier class_progressbar.inc)
<?php
class ProgressBar{
//----------------- parameters -----------------
// position parameters
var $top=60;
var $left=50;
var $width=200;
var $height=30;
//color parameters
var $border_color='#000000';
var $percent_color='#FFCC00';
var $txt_color='#000000';
var $background_color='#006699';
//size parameters;
var $percent_size=15;
var $txt_size=15;
//html parameter
//----------------- private functions -----------------
function Hide(){
echo '<script>';
echo 'document.getElementById("myprogressbar").style.display="none";';
echo "</script>";
}
//----------------- public functions -----------------
function setPosition($left,$top, $width, $height){
$this->top=$top;
$this->left=$left;
$this->width=$width;
$this->height=$height;
}
function setColors($border_color,$percent_color,$txt_color,$background_color){
$this->border_color=$border_color;
$this->percent_color=$percent_color;
$this->txt_color=$txt_color;
$this->background_color=$background_color;
}
function setSizes($percent_size, $txt_size){
$this->percent_size=$percent_size;
$this->txt_size=$txt_size;
}
function generateHTML(){
$html='<div id="myprogressbar" style="display:block;position:absolute;top:'.$this->top;
$html.=';left:'.$this->left;
$html.=';width:'.$this->width.'px;">';
//progress bar div
$html.='<div id="progrbar" style="position: relative; top: 0px';
$html.=';left: 1px';
$html.=';width:0px';
$html.=';height:'.$this->height.'px';
$html.=';background-color:'.$this->background_color.';z-index:0;"></div>';
//percent div
$html.='<div id="percent" style="position:relative;top:-'.($this->height+1).'px';
$html.=';left: 0px';
$html.=';width: 100%';
$html.=';height:'.$this->height.'px;border:1px solid '.$this->border_color.';font-family:Tahoma;font-weight:bold';
$html.=';font-size:'.$this->percent_size.'px;color:'.$this->percent_color.';z-index:1;text-align:center;">0%</div>';
//text div
$txttop=$this->top+1+$this->height+1;
$html.='<div id="progrbartxt" style="position:relative;top:-'.($this->height).'px';
$html.=';left:0px';
$html.=';width: 100%';
$html.=';text-align:center';
$html.=';font-size:'.$this->txt_size.'px;color:'.$this->txt_color.';z-index:1;text-align:center;">loading</div>';
$html.='</div>';
return $html;
}
function SetTimeOut($timeout){
set_time_limit($timeout); //need safe mode off !
}
function SetPercent($percent, $text=""){
echo '<script>';
echo 'document.getElementById("percent").innerHTML="'.$percent.'%";';
echo 'document.getElementById("progrbar").style.width="'.($percent*2).'";';
if (!empty($text))
{
echo 'document.getElementById("progrbartxt").innerHTML="'.$text.'";';
}
echo '</script>';
flush();
}
function End($hide=true){
echo '<script>';
echo 'document.getElementById("percent").innerHTML="100%";';
echo 'document.getElementById("progrbar").style.width="200";\n';
echo 'document.getElementById("progrbartxt").innerHTML="loaded !";';
echo '</script>';
flush();
if (!empty($hide))
$this->Hide();
}
}
?>
//la page de test
<html>
<body>
<?php
include ('class_progressbar.inc');
$pb=new ProgressBar;
//optional
$pb->setPosition(200, 50, 200, 20); //optionnal (default value are defined)
$pb->setColors('#000000','#FFCC00','#FF0000','#006699'); ////optionnal (default value are defined)
$pb->setSizes(15, 18);
$pb->setTimeout(30);
//generate html
echo $pb->generateHTML();
//simulate a "time consuming" task
for ($i=0;$i<=100;$i++)
{
$pb->setPercent($i,'loading message');
for ($j=0;$j<=100000;$j++) {$p=1;}
$p=1;
}
//end the progress bar (and hide it when finished)
$pb->End(); //or $pb->End(false) to avoid hidding progress bar
?>
<div style="positon:relative">your document is now loaded !</div>
</body>
</html>
Conclusion
- des erreurs javascript sont générées... je les corrigerai ASAP.
Historique
- 10 août 2005 23:23:19 :
- - erreure de manip :)
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
barre de progression pendant l'upload [ par Linuss ]
Bonjour à tous, Alors voilà, j'aimerai savoir comment faire ou s'il existe un script pour afficher une barre de progression pendant un uploa
Barre de progression [ par nicolas66 ]
Salut tlm,Je voulais savoir s'il était possible de faire apparaitre une barre de progression d'un téléchargement lors d'un envoi vers un serveur ftp (
Barre de progression upload fichier SIMPLE [ par pukekey ]
Bonjour, Voila vous allez surement me dire que je suis un boulet mais je me lance : J'ai chercher pendant des heures un moyen de faire une barre de
Barre de progression pour un upload de fichier [ par SeanyJ ]
Bonjour, Alors voila je vais vous expliquer mon problème. J'ai créer un formulaire en PHP permettant l'envoi de gros fichier sur mon serveur (jusqu'a
Problème variable externe a une classe [ par destiny ]
Bonjour,Ma question est simple, comment recuprer dans une classe un variable constante ? Exemple :define("DEFAULT_PAGE", "welcome");class initPage {
Problème en PHP [ par GtZz ]
Bonsoir, Je me permet de venir vous solliciter concernant un problème persistant sur mon code PHP, petites explications : je souhaitais créer une pa
Filtrer une table [ par S83V ]
Bonjour à tous Voilà, j'ai créé 2 tables : une table eleve avec les champs ID, nom, prenom, classe, mot de passe. Une table fiches avec les champs ID
classe générique pour parser tout type de fichier xml [ par mams004 ]
Bonjour, je cherche desespérement une classe php générique pour parser tout type de ficher XML Si vous connaisser des liens ou tuto? merci pour
probleme d'instance de classe [ par gretata ]
bonjour a tous !! j'ai un problème au niveau des objets en PHP, je ne comprend pas bien comment ils fonctionnent. j'essai de faire un get sur un obj
J'aurai besoin d'un peut d'aide svp [ par Underskill ]
Bonsoir J'aurais besoin d'aide. Je n'arrive pas afficher les fonction correctement pour afficher le script esceque vous pouriez m'aider svp Le script
|
Derniers Blogs
UNE JOLIE-HORLOGE ET PAS QU'UN PEU !UNE JOLIE-HORLOGE ET PAS QU'UN PEU ! par neodante
Pour les possesseurs d'iPhone, ça y est Bijin Tokei - qui se traduit littéralement en Français par " Jolie Horloge " - est arrivé et GRATUITEMENT s'il vous plaît ! Après la version Tokyo, Hokkaido, night club, racing, Gal, "pour les mademoiselles'", . voi...
Cliquez pour lire la suite de l'article par neodante TECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICESTECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICES par ROMELARD Fabrice
Animé par: Gaetan Bouveret et Julien Chomarat Business Connectivity Services (BCS) est dans SharePoint 2010 la version 2 de Business Data Catalog (BDC dans SharePoint 2007). Il s'agit de la solution permettant de visualiser des données provenan...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE[DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE par orion
Comme de nombreux geek, je suis un grand amateur de série TV et je rate régulièrement des épisodes de mes séries préférés. Une solution s'offre à vous avec ce merveilleux site : Tv Gorge - www.tvgorge.com Moteur de recherche à l'appui, vous pouvez ...
Cliquez pour lire la suite de l'article par orion TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Vincent Bellet et Baptiste Giraudier La BI dans SharePoint 2010, Les nouveaux services d'application dans SP2010 et SQL Server Reporting services 2008 R2. La BI dans SharePoint est généralisée pour tous afin de permettre à tous les coll...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Forum
RE : IMPORT CSVRE : IMPORT CSV par ykhider
Cliquez pour lire la suite par ykhider RE : HTML VERS PDFRE : HTML VERS PDF par abdennassir2
Cliquez pour lire la suite par abdennassir2
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
|