Bonjour,
Voilà j'ai commencé à coder mon uploader avec jquery et php.
Pour récupérer la progression de l'upload, j'ai décidé d'utiliser l'extension pecl uploadprogress.so .
Je l'ai installé en root sur debian :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
pecl install uploadprogress
qui me retourne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Failed to download pecl/uploadprogress within preferred state "stable", latest release is version 0.9.2, stability "beta", use "channel://pecl.php.net/uploadprogress-0.9.2" to install
Alors je relance en faisant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
pecl install channel://pecl.php.net/uploadprogress-0.9.2
L'extension s'est installé, et me demande d'ajouter extension=uploadprogress.so dans php.ini.
J'execute, redémmare apache2 et vérifie dans le phpinfo qui me retourne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
uploadprogress 0.9.2
Directive	Local Value	Master Value
uploadprogress.file.contents_template	/tmp/upload_contents_%s	/tmp/upload_contents_%s
uploadprogress.file.filename_template	/tmp/upt_%s.txt	/tmp/upt_%s.txt
uploadprogress.get_contents	0	0
Jusque la rien de compliqué.
Je test mon script d'upload, la bar d'upload ne bouge pas, je debug en ouvrant 2 fenetre, l'une avec le formulaire suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
<form action="" method="POST" id="uploadform" enctype="multipart/form-data" >
 
<input type="hidden" name="UPLOAD_IDENTIFIER" id="progress_key" value="<?php $uuid ?>" />
<input type="file" name="ulfile" id="ulfile" />
<input type="submit" value="Upload" />
 
</form>
l'autre avec le php progress.php:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
header("Cache-Control: no-cache, must-revalidate");
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
error_reporting(E_ALL);
 
if (@$_GET['id']) {
	echo json_encode(uploadprogress_get_info($_GET['id']));
	exit();
}
 
$uuid = uniqid();
Je debug en récupérant $uuid avant l'upload et pendant l'upload d'un fichier sur la deuxieme progress.php?id=001456674(ex)

J'ai tout éssayé, rien à faire la fonction uploadprogress_get_info me retourne toujours un NULL.
Alors que l'upload se fait.

J'ai éssayé avec le module APC et la aucun problèmes! Mais apc retourne moins d'informations que uploadprogress donc je prefererais faire fonctionner uploadprogress.

NB : J'ai augmenter la taille max d'upload php dans le php.ini, change rien.

Ma version PHP : PHP Version 5.2.0-8+etch13

Quelqu'un aurait réussi a la faire fonctionner correctement? Si oui, peut-il m'expliquer sa démarche ou ce qui ne vas pas/qui manque dans la mienne.
Merci d'avance.

Austriker