le web n'est pas fait pour du traitement lourd ainsi (a moins que le serveur ne soit configuré pour).
Essai avec un fichier csv, sans charger le reste du excel tu gagnera peut être en traitement.
Le but c'est d'ajouter les coordonnées GPS dans le fichier ?
Tu ne peux te connecter à la base directement je suppose ?
Avec du csv je dirais :
- file pour avoir une ligne dans une ligne de tableau (une "case" par ligne)
-
str_getcsv pour "parser" la chose
- foreach pour parcourir le tableau du premier point
l’algorithme en pseudo code
charger le fichier dans un tableau
creer une variable tempo du fichier final
pour chaque ligne du tableau
récupérer sous forme de tableau la ligne csv courante
récupérer les coordonées gps
Ajouter les coordonnées au tableau courant
Ajouter la ligne sous forme csv à la variable tampon (implode et la constante php PHP_EOL pour la fin de ligne)
fin pour chaque
Mettre le contenu de la variable tampon dasn le fichier de sortie
Dans le cas d'une progression à afficher il est possible d'utiliser un fichier qui va contenir l'avancement.
Ce n'est pas très performant mais c'est une solution.
Tu peux aussi utiliser la solution des websocket qui éviterait cela.
a priori pas mal d'exemple ici
http://www.developpez.net/forums/d13001 ... rveur-php/
l’algorithme en pseudo code
charger le fichier dans un tableau
creer une variable tempo du fichier final
compter le nombre de ligne du tableau et le mettre dans une variable
pour chaque ligne du tableau (prendre l'index du tableau et la valeur
créer un tableau avec un index "total" qui va contenir le nombre total de ligne et un index "current" qui va contenir le numéro d'index courant + 1
insérer dans un fichier, sous forme JSON, le tableau créer au dessus (file_put_contents et json_encode)
récupérer sous forme de tableau la ligne csv courante
récupérer les coordonées gps
Ajouter les coordonnées au tableau courant
Ajouter la ligne sous forme csv à la variable tampon (implode et la constante php PHP_EOL pour la fin de ligne)
fin pour chaque
Mettre le contenu de la variable tampon dasn le fichier de sortie
pour la partie ajax, tu peux t'aider de JQuery, c'est relativement simple.
tu appel un fichier php qui se contente de retourner le contenu du fichier alimenté dans la boucle.
en gros
<?php
echo file_get_contents('le fichier qui contient le tableau JSON');
?>
Je script JS alimente une jauge à partir d'un simple calcule de pourcentage (avec html 5 tu peux utiliser le tag html
progress).
et la le tour est joué.
ah oui à l'affichage de la page tu utilise
exec pour lancer le script php qui mouline le reste

(lit bien la doc pour ne pas attendre la fin du script).
C'est bien sur des idées, mais il faut bien penser que le web n'est pas vraiment prévu pour attendre des traitements super long

Attention aussi aux coûts en mémoire des fichiers chargé, peuvent être gênant
@+
le web n'est pas fait pour du traitement lourd ainsi (a moins que le serveur ne soit configuré pour).
Essai avec un fichier csv, sans charger le reste du excel tu gagnera peut être en traitement.
Le but c'est d'ajouter les coordonnées GPS dans le fichier ?
Tu ne peux te connecter à la base directement je suppose ?
Avec du csv je dirais :
- file pour avoir une ligne dans une ligne de tableau (une "case" par ligne)
- [url=http://fr2.php.net/manual/fr/function.str-getcsv.php]str_getcsv[/url] pour "parser" la chose
- foreach pour parcourir le tableau du premier point
l’algorithme en pseudo code
charger le fichier dans un tableau
creer une variable tempo du fichier final
pour chaque ligne du tableau
récupérer sous forme de tableau la ligne csv courante
récupérer les coordonées gps
Ajouter les coordonnées au tableau courant
Ajouter la ligne sous forme csv à la variable tampon (implode et la constante php PHP_EOL pour la fin de ligne)
fin pour chaque
Mettre le contenu de la variable tampon dasn le fichier de sortie
Dans le cas d'une progression à afficher il est possible d'utiliser un fichier qui va contenir l'avancement.
Ce n'est pas très performant mais c'est une solution.
Tu peux aussi utiliser la solution des websocket qui éviterait cela.
a priori pas mal d'exemple ici [url]http://www.developpez.net/forums/d1300151/php/langage/contribuez/websocket-api-serveur-php/[/url]
l’algorithme en pseudo code
charger le fichier dans un tableau
creer une variable tempo du fichier final
compter le nombre de ligne du tableau et le mettre dans une variable
pour chaque ligne du tableau (prendre l'index du tableau et la valeur
créer un tableau avec un index "total" qui va contenir le nombre total de ligne et un index "current" qui va contenir le numéro d'index courant + 1
insérer dans un fichier, sous forme JSON, le tableau créer au dessus (file_put_contents et json_encode)
récupérer sous forme de tableau la ligne csv courante
récupérer les coordonées gps
Ajouter les coordonnées au tableau courant
Ajouter la ligne sous forme csv à la variable tampon (implode et la constante php PHP_EOL pour la fin de ligne)
fin pour chaque
Mettre le contenu de la variable tampon dasn le fichier de sortie
pour la partie ajax, tu peux t'aider de JQuery, c'est relativement simple.
tu appel un fichier php qui se contente de retourner le contenu du fichier alimenté dans la boucle.
en gros
[php]
<?php
echo file_get_contents('le fichier qui contient le tableau JSON');
?>[/php]
Je script JS alimente une jauge à partir d'un simple calcule de pourcentage (avec html 5 tu peux utiliser le tag html [url=http://www.alsacreations.com/article/lire/1416-html5-meter-progress.html]progress[/url]).
et la le tour est joué.
ah oui à l'affichage de la page tu utilise [url=http://fr2.php.net/manual/fr/function.exec.php]exec[/url] pour lancer le script php qui mouline le reste ;) (lit bien la doc pour ne pas attendre la fin du script).
C'est bien sur des idées, mais il faut bien penser que le web n'est pas vraiment prévu pour attendre des traitements super long :)
Attention aussi aux coûts en mémoire des fichiers chargé, peuvent être gênant ;)
@+