|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre éclairé
![]() Inscription : décembre 2003 Messages : 332 ![]() |
Bonjour à tous,
J'ai un modèle de fichier texte (en rtf pour conserver la mise en page demandée par le client) dans lequel je dois remplacer des balises par des valeurs qui me sont propres. Pour mon cas, j'ouvre un fichier vierge, je parcours mon modèle avec fgets et j'écris dans mon fichier vierge avec fwrite (en remplaçant mes balises). Ce code fonctionne très bien et semble assez rapide. Mais un nouveau modèle m'a été donné avec une image en entête et pied de page. Le fichier source fait 8Mo... Le temps de recréer mon nouveau document semble interminable (une trentaine de secondes... soit beaucoup trop pour le client final...) Quelqu'un connaitrait-il une autre méthode à appliquer pour un gain de temps sur le traitement ? Merci !!! |
|
|
00
|
|
|
#2 |
![]() ![]() Inscription : juin 2003 Messages : 4 893 ![]() |
Je suppose déjà que tu ne peux pas utiliser un autre format que le RTF, n'est ce pas ?
Si il s'agit d'un problème d'un temps d'attente trop long pour le visiteur, tu pourrais peut être t'orienter vers une interface avec une barre de défilement qui indique où en est le déroulement du l'opération.
__________________
Modérateur PHP |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : novembre 2006 Messages : 20 ![]() |
Si l'image est assez simple transforme la en gif avec le moins de couleurs possible pour la taille sans que cela soit trop flagrant
En espérant que ça ne soit pas une photo :] |
|
|
00
|
|
|
#4 |
|
Membre éclairé
![]() Inscription : décembre 2003 Messages : 332 ![]() |
Il s'agit d'une "espèce"
Pour les images, une collègue a tenté une optimisation, mais ce n'est guère flagrant... La barre de progression est une bonne idée en soit, mais malheureusement pas applicable chez ce client... (pourtant cela m'aurait bien arrangé... !! |
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : novembre 2006 Messages : 20 ![]() |
Jm'en vais te l'optimiser moi, ton image !
je t'envoie un mp :] |
|
|
00
|
|
|
#6 | |
|
Membre éclairé
![]() Inscription : décembre 2003 Messages : 332 ![]() |
Citation:
Même si ta solution aurait pu nous dépanner sur le moment, mon client devrait m'envoyer PLEIN de modèles (c'est lié à son fonctionnement) donc je préfererai trouver une optimisation de mon traitement php... ^^ |
|
|
|
00
|
|
|
#7 |
|
Invité de passage
![]() Inscription : novembre 2006 Messages : 20 ![]() |
Et si on met un lien hypertexte vers l'image stoquée sur un serveur à part qui serait plus rapide, ça ne marche pas ^o) ? Je ne sais pas du tout comment ça fonctionne dans le rtf les fichiers incorporés..
|
|
|
00
|
|
|
#8 |
|
Membre éclairé
![]() Inscription : décembre 2003 Messages : 332 ![]() |
Mouais... J'ai pas envie non plus de me taper tous les modèles du client à la paluche...
Bon, oublions les images... Revenons à la question première... J'ouvre mon modèle et un document vierge. Je lit la ligne dans mon modèle, je remplace la valeur éventuelle, et je récris ma ligne dans mon document vierge... N'y aurait-il pas une méthode de remplacement global avec un traitement plus rapide ? (désolé pour le rejet des solutions sur l'image : je dois trouver une solution plus générale, que l'application puisse se débrouiller avec ce que lui founit le client sans passer la case hotline...) |
|
|
00
|
|
|
#9 | |
![]() ![]() Inscription : juin 2003 Messages : 4 893 ![]() |
Citation:
il y a juste besoin de JavaScript normalement
__________________
Modérateur PHP |
|
|
|
00
|
|
|
#10 |
|
Membre éclairé
![]() Inscription : décembre 2003 Messages : 332 ![]() |
Ce n'est pas un problème technique pour moi... C'est juste que le client ne souhaite pas attendre 35 secondes pour le remplacement de 4 valeurs dans un fichier texte...... ^^
|
|
|
00
|
|
|
#11 | |
![]() ![]() Inscription : juin 2003 Messages : 4 893 ![]() |
Citation:
Je caricature un peu (un "deux processeurs" suffit peut-être
__________________
Modérateur PHP |
|
|
|
00
|
|
|
#12 | ||
|
Membre habitué
![]() Inscription : décembre 2006 Messages : 109 ![]() |
j'ai essayé le code suivant sur un fichier RTF de 9Meg, 5 remplacement et le temps de traitement est toujours inférieur à 2 secondes. même sur un serveur avec un celeron.
Code :
|
||
|
|
00
|
|
|
#13 |
|
Membre éclairé
![]() Inscription : décembre 2003 Messages : 332 ![]() |
Et c'est une bonne réponse de daniel61 !!!
Bon, ma technique (détaillée plus haut) était : j'ouvre mon fichier source, j'ouvre un fichier vierge, et je recopie ligne à ligne en faisant un str_replace de mes champs... Temps de traitement : 35 secondes. Avec la technique de daniel61 : je copie mon fichier source et je fais un preg_replace avec deux tableaux (une liste de recherche et une liste de remplace) sur le fichier... Temps de traitement : entre 1 et 2 secondes... Y'a pas photo... !! Merci, merci, merci !!! |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com