IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AJAX Discussion :

[AJAX] Connaitre l'avancement d'execution d'un script php


Sujet :

AJAX

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 1
    Points : 1
    Points
    1
    Par défaut [AJAX] Connaitre l'avancement d'execution d'un script php
    Bonjour,

    J'ai un script PHP qui prend plusieurs minutes a s'exécuter et je souhaite afficher l'avancement pour savoir ou ca en est. Ne connaissant pas du tout AJAX j'ai commencé a regarder comment ca marche

    J'ai modifié mon PHP pour ecrire dans un fichier a chaque fin de boucle le numero de la boucle. Et avec ajax je vais lire le contenu du fichier toutes les 5 sec et je l'affiche a l'ecran.

    Alors ca marche sur le petit exemple que je me suis fait et qui se contente d'aller lire le fichier avec le nombre de boucle effectuée, et je change la valeur contenue a la main. Par contre quand je le mets dans mon script php il n'affiche la page qu'une fois l'exécution du php terminée et donc je ne peux pas voir l'affichage de l'etat d'avancement. Par contre une fois la page affichée il va bien lire le nombre de boucle effectuée dans le fichier.

    J'ai essayé de bufferiser la sortie avec php et de vider le buffer qui contient la fonction javascript et le champ pour l'affichage juste avant le gros du traitement PHP. Mais cela ne marche pas.

    Est ce que je m'y prend mal? Il faudrait peut etre ouvrir une nouvelle fenetre pour afficher le compteur de la progression?

    Si vous pouviez me donner un petit coup de main, merci.

  2. #2
    Membre confirmé
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Mars 2006
    Messages
    400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo

    Informations forums :
    Inscription : Mars 2006
    Messages : 400
    Points : 562
    Points
    562
    Par défaut
    J'ai un script PHP qui prend plusieurs minutes a s'exécuter
    Il faudrait peut-être revoir ce script pour réduire sa durée d'exécution.

    J'ai modifié mon PHP pour ecrire dans un fichier a chaque fin de boucle
    [...]
    quand je le mets dans mon script php il n'affiche la page qu'une fois l'exécution du php terminée
    Quant un fichier est ouvert en écriture par un script, aucun autre script ne peut y accéder tant que le fichier n'est pas fermé.
    Pour éviter ce problème, à chaque fois que tu écris dans ce fichier, tu dois ouvrir le fichier, écrire des données, et fermer le fichier.
    En ce faisant, au autre script php peut accéder au fichier et lire son contenu.

Discussions similaires

  1. [PHP 5.3] Exec() qui n'execute pas un script PHP
    Par MisterGrouik dans le forum Langage
    Réponses: 4
    Dernier message: 04/02/2010, 16h01
  2. execution d'un script php
    Par hypothese dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 3
    Dernier message: 14/12/2009, 16h39
  3. pb avec l'execution de mes script php
    Par joelferdy dans le forum Apache
    Réponses: 2
    Dernier message: 01/04/2008, 11h13
  4. Execution d'un script php en mode commande
    Par erwan.bodere dans le forum Apache
    Réponses: 2
    Dernier message: 13/09/2006, 14h35
  5. [PHP-JS] Execution d'un script php dans du javascript
    Par Anduriel dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 13/06/2005, 20h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo