Page 1 sur 1

Besoin d'aide ProgressBar lors de l'upload d'un fichier.

Posté : 10 déc. 2012, 20:07
par Melyon
Salut à tous, j'ai un sérieux problème aujourd'hui!

Comme j'ai lancer mon projet YOUPLOAD, j'ai commencer à faire tous le script. Maintenant le problèmes c'est que je suis pas le dieux en PHP ou autres ... Je connais simplement les bases!

Mon problème: J'aimerait pouvoir quand ont clique sur le input="file" ont choisis le fichier ensuite quand ont clique sur Upload j'aimerait que en bas sa affiche un ProgressBar tous simple avec un texte exemple: 54% > 60% > 70% ...

Donc pour ceux qui peuvent m'aidez je l'ai remercie d'avance de [+] j'offre un nom de domaine à la personne qui arrive à m'aidez ( ou même re-moduler le script).

Voici le script de la <form> >

Code : Tout sélectionner

<form action="" method="post" onSubmit="return isUpFormOk(this)" enctype="multipart/form-data" target="result_frame"> <?php if(count($err)>0) { foreach($err as $errmsg) print "<div id='err1'>$errmsg</div>"; ?> <? } ?> <br> <div class="txtbox"> <input name="upfile" style="opacity:0;float:right;" type="file" id="upfile"> </div> <center> <input name="submit" src="images/up.png" style="margin-top:-2px;" type="image" > <a href="./"><img src="images/annul.png" style="margin-top:-2px;"></a> <input name="media" type="hidden" id="media" value="upfile"> </form>
Donc il est très basique surtout pour les input submit j'ai fait sa à la légère.

Voici le code PHP tous en haut de ma page >

Code : Tout sélectionner

<?php require_once("include/vars.php"); require_once("include/db.php"); require_once("include/functions.php"); $qry="SELECT conf_value FROM ".$db->tb("configuration")." WHERE conf_name='AUTO_FILE_DELETE'"; $db->query($qry); $row=$db->getrow(); if($row[0]=="Yes") { $now=time(); $qry="SELECT dir, file_name FROM ".$db->tb("fileinfo")." WHERE expire_time<$now"; $db->query($qry); while($row=$db->getrow()) { @unlink("uploads/".$row[1]."/".$row[2]); @rmdir("uploads/".$row[1]); } $qry="DELETE FROM ".$db->tb("fileinfo")." WHERE expire_time<$now"; $db->query($qry); } $err=array(); if(count($_POST)>0) { $media=$_REQUEST["media"]; $upfile=$_FILES[$media]['name']; $upfile=trim($upfile); if(empty($upfile)) $err[]="Vous n'avez pas entrer de fichiers"; if(count($err)==0) { $qry="SELECT conf_value FROM ".$db->tb("configuration")." WHERE conf_name='MAX_SIZE'"; $db->query($qry); $row=$db->getrow(); $sizelmt=((int)$row[0])*1000; $qry="SELECT conf_value FROM ".$db->tb("configuration")." WHERE conf_name='MIME_TYPES'"; $db->query($qry); $row=$db->getrow(); if($row[0]=="") $mimearr=""; else $mimearr=explode(",",$row[0]); require_once("include/uploader.php"); do { $key=getRanID(20); $qry="SELECT COUNT(*) FROM ".$db->tb("fileinfo")." WHERE idkey='$key'"; $db->query($qry); $row=$db->getrow(); }while($row[0]); do { $dirkey=getRanID(20); $qry="SELECT COUNT(*) FROM ".$db->tb("fileinfo")." WHERE dir='$dirkey'"; $db->query($qry); $row=$db->getrow(); }while($row[0]); mkdir("uploads/$dirkey"); chmod("uploads/$dirkey",0777); $uploader = new MediaUploader("uploads/$dirkey", $mimearr, $sizelmt); //$uploader->setTargetFileName($row[0].".jpg"); if ($uploader->fetchMedia($media)) { if(!$uploader->upload()) { rmdir("uploads/$dirkey"); $err[] = $uploader->getErrors(); } } else { rmdir("uploads/$dirkey"); $err[]=sprintf("Echec du chargement '%s'", $upfile); } if(count($err)==0) { $qry="SELECT conf_optional, conf_value FROM ".$db->tb("configuration")." WHERE conf_name='MAX_TIME'"; $db->query($qry); $row=$db->getrow(); $maxtime=$row[0]; $maxtimeval=$row[1]; $qry="SELECT conf_optional, conf_value FROM ".$db->tb("configuration")." WHERE conf_name='MAX_COUNT'"; $db->query($qry); $row=$db->getrow(); $maxcount=$row[0]; $maxcountval=$row[1]; $qry="INSERT INTO ".$db->tb("fileinfo")."(idkey,dir,mime_type,file_name,size,upload_time,expire_time,max_dwnld,recipient,sender) VALUES('$key','$dirkey','".$uploader->getMediaType()."','".$uploader->getSavedFileName()."',".$uploader->getMediaSize().",".time().",".(time()+($maxtimeval*86400)).",".$maxcountval.",'$emailto','$emailfrom')"; $db->query($qry); $newid=$db->get_insert_id(); $qry="SELECT conf_optional FROM ".$db->tb("configuration")." WHERE conf_name='DAILY_TRANSFER'"; $db->query($qry); $row=$db->getrow(); if($row[0]==date("d-m-Y")) $qry="UPDATE ".$db->tb("configuration")." SET conf_value=conf_value+".$uploader->getMediaSize()." WHERE conf_name='DAILY_TRANSFER'"; else $qry="UPDATE ".$db->tb("configuration")." SET conf_value=".$uploader->getMediaSize().", conf_optional='".date("d-m-Y")."' WHERE conf_name='DAILY_TRANSFER'"; $db->query($qry); //print date("Y-m-d H:i:s"); redirect("success.php?id=$newid"); } } } $qry="SELECT conf_optional FROM ".$db->tb("configuration")." WHERE conf_name='MAX_SIZE'"; $db->query($qry); $row=$db->getrow(); $maxsize=$row[0]; ?>
Si quelq'un peux me re-moduler le script en y ajoutant le progressbar etc ... JE LUI OFFRE NOM DE DOMAINE AU CHOIX! ( POUR LE PREMIER )
Merci de m'aider au plus vite!