| Previous topic :: Next topic |
| Author |
Message |
krosk
Offline
Joined: 18 Mar 2010 Posts: 8
|
Posted: Wed 6 Oct 2010 - 10:20 Post subject: Barre de progression d'upload |
|
|
Bonjour,
je travaille actuellement sur une barre de progression d'upload de fichiers en PHP avec APC. J'ai suivi la méthode décrite par de nombreux tutos (par exemple, http://www.miasmatech.net/scripts/article/article_content.php?article_id= , et j'ai beau retourner le problème dans tous les sens, j'arrive toujours à la situation suivante :
quand je fais un apc_fetch(key), ca me renvoie toujours false tant que l'upload n'est pas terminé... mais une fois l'upload terminé, ca me renvoie bien les informations sur l'upload... ce qui ne m'avance pas pour faire une barre de progression.
Quelqu'un a une idée de l'origine du problème ?
Merci d'avance Christophe |
|
| Back to top |
|
 |
krosk
Offline
Joined: 18 Mar 2010 Posts: 8
|
Posted: Thu 7 Oct 2010 - 09:47 Post subject: Barre de progression d'upload |
|
|
| Je me permet de faire un petit up, je suis vraiment dans l'impasse là... |
|
| Back to top |
|
 |
Simon
Administrateur

 Offline
Joined: 08 May 2005 Posts: 990
Localisation: France
|
|
| Back to top |
|
 |
krosk
Offline
Joined: 18 Mar 2010 Posts: 8
|
Posted: Thu 7 Oct 2010 - 12:57 Post subject: Barre de progression d'upload |
|
|
Alors voici le code du formulaire :
| Code: | <form id="formId" method="post" action="/formValid" enctype="multipart/form-data"> <table class="tablewhite"> <tr> <td colspan='2' class='title'>Nom du fichier</td> </tr> <tr> <td><input name="textField" value="" /></td> </tr> <tr> <td>Votre fichier</td> <td class="element"> <input type="hidden" name="APC_UPLOAD_PROGRESS" id="progress_key" value="<? echo $progressKey; ?>"/> <input id="file" type="file" name="file" /> </td> </tr> <tr id="submitTr"> <td colspan="2" class="center"> <input type="button" value="Envoyer" onclick="submitVideo();" /> <input type="hidden" name="MAX_FILE_SIZE" value="2147483648"> </td> </tr> </table> </form>
|
A savoir que la fonction submitVideo valide le formulaire avec jQuery / ajaxForm. Et que côté serveur, pendant l'upload de la vidéo, je lance juste un apc_fetch avec la bonne clé pour voir l'avancement de l'upload. |
|
| Back to top |
|
 |
krosk
Offline
Joined: 18 Mar 2010 Posts: 8
|
Posted: Fri 8 Oct 2010 - 16:47 Post subject: Barre de progression d'upload |
|
|
| Visiblement, même avec le code, ca ne change pas grand chose ^^ |
|
| Back to top |
|
 |
Simon
Administrateur

 Offline
Joined: 08 May 2005 Posts: 990
Localisation: France
|
|
| Back to top |
|
 |
krosk
Offline
Joined: 18 Mar 2010 Posts: 8
|
Posted: Mon 11 Oct 2010 - 14:59 Post subject: Barre de progression d'upload |
|
|
J'espère que ton week-end fut bon alors 
Du côté du code PHP, il y a juste un apc_fetch en fait... avec la bonne clé en argument. Et le apc_fetch me renvoit toujours false, jusqu'à ce que l'upload soit terminé, c'est seulement là qu'il me renvoit un tableau de données. |
|
| Back to top |
|
 |
Simon
Administrateur

 Offline
Joined: 08 May 2005 Posts: 990
Localisation: France
|
|
| Back to top |
|
 |
krosk
Offline
Joined: 18 Mar 2010 Posts: 8
|
Posted: Tue 12 Oct 2010 - 10:17 Post subject: Barre de progression d'upload |
|
|
Voici pour le JS :
| Code: | var progressKey = <? echo $progressKey; ?>;
function submitVideo() { $("#formId").ajaxSubmit({ dataType: "json", success: callbackUploadFile }); }
function callbackUploadFile(data) { if (data.success == false) { // Affichage des erreurs /* ... */ } else { getUploadProgress(); } }
function getUploadProgress() {
$.ajax({ url: "/progress/key/" + progressKey, async: true, success: function(data) { // Update de la barre d'avancement /* ... */ } });
if (upload non terminé) { setTimeout("getUploadProgress()", 1000); } }
|
Pour le PHP, il n'y a vraiment rien...
| Code: | $key = $_GET["APC_UPLOAD_PROGRESS"]; var_dump(apc_fetch("upload_" . $key));
|
|
|
| Back to top |
|
 |
Simon
Administrateur

 Offline
Joined: 08 May 2005 Posts: 990
Localisation: France
|
|
| Back to top |
|
 |
|