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

Langage PHP Discussion :

Appeler un script d'auto importation des email dans la page d'acceuil


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Homme Profil pro
    Cyberdocumentaliste
    Inscrit en
    Janvier 2014
    Messages
    160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Cyberdocumentaliste
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2014
    Messages : 160
    Points : 71
    Points
    71
    Par défaut Appeler un script d'auto importation des email dans la page d'acceuil
    Bonjour à tous,

    J'ai crée un script "auto_import.php" qui permet de récupérer des données des pièces jointes reçus dans l'adresse mail (Messages Non lu), je l'ai inclus dans la page index.php afin de récupérer les données à chaque consultation de l’accueil.

    Le problème c'est que si le fichier contient trop de données la page d’accueil ne s'affiche qu'après la récupération des données et parfois ça prend du temps.
    Actuellement je met le include 'auto_import.php'; en bas du code.

    Autre chose, je pense à hébérger le site et je voudrais savoir comment automatiser la récupération c'est à dire que sans avoir besoin d'ouvrir le site le script doit s’exécuter et récupére les données.

    Merci à tous.

  2. #2
    Membre émérite
    Avatar de gene69
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 769
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 769
    Points : 2 446
    Points
    2 446
    Par défaut
    Salut

    Sans contexte c'est compliquer de comprendre pourquoi un serveur http irait consulter des boites mails.
    Personnellement, je ferai autrement, tu enlèves ta récupération de la page d'accueil et tu déportes la récupération vers une page dédiée.

    Ensuite tu appelles cette page via de l'ajax de façon asynchronne... tu affiches "en cours" jusqu'à ce qu'ajax dise ok.

    Sinon tu peux faire comme si c'était une image (comme ça pas d'ajax) et ton script d'extraction/import de donnée renvoie une image verte ou rouge en fonction du résultat

    Prime sur le gateau, tu peux mettre pour cette page là un temps d'excution bcp plus long que sur le reste de page comme ça pas de timeout PHP.

  3. #3
    Membre émérite
    Avatar de gene69
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 769
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 769
    Points : 2 446
    Points
    2 446
    Par défaut
    Citation Envoyé par gene69 Voir le message
    Sinon tu peux faire comme si c'était une image (comme ça pas d'ajax) et ton script d'extraction/import de donnée renvoie une image verte ou rouge en fonction du résultat.
    Ma version préférée de cette méthode c'est de ne pas faire un file_put_contents() de l'image verte ou rouge mais de ne rien afficher et de faire un header('redirection....') vers l'image verte ou rouge.

  4. #4
    Membre régulier
    Homme Profil pro
    Cyberdocumentaliste
    Inscrit en
    Janvier 2014
    Messages
    160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Cyberdocumentaliste
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2014
    Messages : 160
    Points : 71
    Points
    71
    Par défaut
    Citation Envoyé par gene69 Voir le message
    Salut

    Sans contexte c'est compliquer de comprendre pourquoi un serveur http irait consulter des boites mails.
    Personnellement, je ferai autrement, tu enlèves ta récupération de la page d'accueil et tu déportes la récupération vers une page dédiée.

    Ensuite tu appelles cette page via de l'ajax de façon asynchronne... tu affiches "en cours" jusqu'à ce qu'ajax dise ok.
    Le principe c'est que je reçois des PJ sur ma boite mail contenant un fichier XL, le code sert à vérifier les messages non lus et les ouvres puis il récupère le fichier XL.
    Je mets pas la récupération dans l'index je la mets sur une page dedié qui s'appelle "auto_mport.php" puis je l'appele avec include dans l'index alors pour s'authentifier il faut attendre le chargement des fichiers reçu.

    Peux-tu me guider afin d'avoir la plus simple méthode de le faire en Ajax car je connais pas trop de choses sur AJAX.

    Sinon tu peux faire comme si c'était une image (comme ça pas d'ajax) et ton script d'extraction/import de donnée renvoie une image verte ou rouge en fonction du résultat

    Prime sur le gateau, tu peux mettre pour cette page là un temps d'excution bcp plus long que sur le reste de page comme ça pas de timeout PHP.
    J'ai mis <img src="auto_import.php"> et ça donne pas de résultat par contre je trouve que le mail est marqué comme lu après actualisation de la page.

    D'abord c'est correct le code ?

    Peux-tu me donner un exemple concernant le temps d'execution STP ?

  5. #5
    Membre régulier
    Homme Profil pro
    Cyberdocumentaliste
    Inscrit en
    Janvier 2014
    Messages
    160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Cyberdocumentaliste
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2014
    Messages : 160
    Points : 71
    Points
    71
    Par défaut
    Citation Envoyé par gene69 Voir le message
    Ma version préférée de cette méthode c'est de ne pas faire un file_put_contents() de l'image verte ou rouge mais de ne rien afficher et de faire un header('redirection....') vers l'image verte ou rouge.
    Comme si je connais comment faire un file_put_contents()

    comment ça " ne rien afficher et de faire un header" j'aurais pas besoin vraiment d'une image verte ou rouge Non !

  6. #6
    Membre émérite
    Avatar de gene69
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 769
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 769
    Points : 2 446
    Points
    2 446
    Par défaut
    c'est en ne rien affichant pendant ton auto_import.php que tu garderas l'autorisation de faire une redirection HTTP que la navigateur suit obligatoirement ( cherche php + header + 302 )
    donc à la fin du script php dit "bah en fait va chercher l'image" et le navigateur va chercher l'image demandée, que tu peux mettre verte ou rouge ou un pere noel sur des skis, peut d'importance.

    le seul inconvénient c'est que l'import se fait apres le rechargement de la page...

  7. #7
    Membre régulier
    Homme Profil pro
    Cyberdocumentaliste
    Inscrit en
    Janvier 2014
    Messages
    160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Cyberdocumentaliste
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2014
    Messages : 160
    Points : 71
    Points
    71
    Par défaut
    Citation Envoyé par gene69 Voir le message
    c'est en ne rien affichant pendant ton auto_import.php que tu garderas l'autorisation de faire une redirection HTTP que la navigateur suit obligatoirement ( cherche php + header + 302 )
    donc à la fin du script php dit "bah en fait va chercher l'image" et le navigateur va chercher l'image demandée, que tu peux mettre verte ou rouge ou un pere noel sur des skis, peut d'importance.

    le seul inconvénient c'est que l'import se fait apres le rechargement de la page...
    STP peux-tu m'expliquer autrement j'ai rien compris !

  8. #8
    Membre émérite
    Avatar de gene69
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 769
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 769
    Points : 2 446
    Points
    2 446
    Par défaut
    ok mais ça va être plus détaillé.

    quand ton serveur web répond à une page web, en vrai la réponse est en deux partie, ce qu'on appelle l'entete HTTP et le document proprement dit (le html). L’entête HTTP ça permet d'échanger des infos entre le navigateur et le site web, du genre les fameux coockies et pleins autres choses (certaines authentifications, les redirections de documents, la mise en cache navigateur, la compression, la nature du document image/html/json/javascript et des info inutile (ex version de PHP) ).
    pour info, les entêtes renvoyées par le forum developpez.net sont

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Date: Fri, 28 Jul 2017 17:11:04 GMT
    Server: Apache/2.4.10 (Debian)
    X-Powered-By: PHP/5.3.29
    Cache-Control: private
    Pragma: private
    Vary: Accept-Encoding
    Content-Encoding: gzip
    Content-Length: 49322
    Keep-Alive: timeout=5, max=100
    Connection: Keep-Alive
    Content-Type: text/html; charset=ISO-8859-1


    Maintenant le problème de ses entêtes, c'est que c'est un fonctionnement un peu raide, une entête ne peut être qu'au début du document. Pourquoi ça s'appelerai entête, sinon? Les entêtes sont assez discrètes dans la vie de tous les jours.

    si ton script d'import commence à écrire du contenu (ça peut être n'importe quoi, un message de réussite, un message d'erreur, des balises html, des blancs, des retours à la ligne et.... certains caractères invisibles), alors PHP va dire a apache "j'ai du contenu à envoyer" et apache va faire partir les entêtes vers le navigateur pour commencer à envoyer le début du contenu (le blanc, le message d'erreur ...).

    Moi ce que je te propose c'est de faire un code silencieux qui n'écrit rien du tout (sinon éventuellement dans un fichier texte de log en local sur le serveur) mais pas de balise, pas d'écho pas de print, pas de blancs ... pour ne pas envoyer les fameuses entêtes. une fois que tu sais si ton import de pièce jointe a réussi/raté, tu écris ta redirection avec header() vers la bonne image.

Discussions similaires

  1. [Débutant] Importer des .java dans un script
    Par Invité dans le forum MATLAB
    Réponses: 4
    Dernier message: 15/09/2014, 09h32
  2. [3D'S MAX] importer des fichiers dans OpenGL
    Par black is beautiful dans le forum OpenGL
    Réponses: 3
    Dernier message: 30/04/2005, 13h45
  3. [Ant Eclipse] Import des librairies dans un build.xml
    Par Alwin dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 17/11/2004, 16h35
  4. Importer des données dans sql server avec DELPHI ???
    Par moutanakid dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 11/08/2004, 17h22
  5. importer des donnees dans interbase
    Par ms91fr dans le forum InterBase
    Réponses: 3
    Dernier message: 25/11/2002, 17h43

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