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

PHP & Base de données Discussion :

[SQL] enregistrer le résultat dune page php en html sur le server


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Profil pro
    Enseignant
    Inscrit en
    Juin 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2006
    Messages : 10
    Points : 14
    Points
    14
    Par défaut [SQL] enregistrer le résultat dune page php en html sur le server
    Salut à tous,
    Est-il possible d'enregistrer dans un fichier au format html le résultat d'une page php ?

    Si oui, comment ?

    Je souhaite que cela se fasse automatiquement via un clic sur un bouton qui ouvre la page que je veux enregistrer sur le server

  2. #2
    Rédacteur
    Avatar de BrYs
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    2 014
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 2 014
    Points : 3 522
    Points
    3 522
    Par défaut
    C'est à dire ?
    ce qui est interprété ?

  3. #3
    Membre à l'essai
    Profil pro
    Enseignant
    Inscrit en
    Juin 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2006
    Messages : 10
    Points : 14
    Points
    14
    Par défaut réponse
    oui, ce qui est interprété.
    Actuellement, je lance un print() à l'ouverture de la page mais je ne souhaite les imprimer que lorsque j'en ai besoin et ma base de données ou je puise les infos est vidée une fois par an.
    Le but est de garder une sauvegarde de chacune des pages.
    Je ne sais pas si j'ai été très clair ?

  4. #4
    Membre émérite Avatar de Djakisback
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 023
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2 023
    Points : 2 273
    Points
    2 273
    Par défaut
    Salut,
    tu peux faire ca avec ob_start() et ob_ get_ flush() ou encore mettre toute ta page dans une variable.
    Ensuite tu sauvegardes avec fopen().
    Bye

  5. #5
    Membre à l'essai
    Profil pro
    Enseignant
    Inscrit en
    Juin 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2006
    Messages : 10
    Points : 14
    Points
    14
    Par défaut demande ob_start et ob_get_flush
    Merci pour la réponse (très rapide) mais je ne connais pas du tout
    ces fonctions. Pourrais-tu me donner un exemple ?
    Ou bien me montrer comment mettre le contenu de la page dans une variable
    puis la copier dans un fichier ?
    Question subsidiaire :
    quelle instruction insérer pour mettre des sauts de pages de manière à ce
    que à l'impression du fichier complet (càd comprenant plusieurs pages html)
    les sauts de pages soient effectifs ?

  6. #6
    Membre émérite Avatar de Djakisback
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 023
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2 023
    Points : 2 273
    Points
    2 273
    Par défaut
    Salut,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $page = "<html><body><head><p>rett</p></head></body></html>";
     
    $file = fopen("file.html","w");
    fputs($file, $page);
    fclose($file);
     
    // ou PHP 5
    //file_put_contents("file.html", $page);
    Sinon avec les fonctions de bufférisation, meilleure solution à mon avis :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    ob_start(); // en haut de page
    ... contenu de la page
     
    // A l'endroit où tu veux que s'arrête l'enregistrement de ta page, si possible après le </html> si tu veux une page valide
    $page = ob_get_flush();
     
    $file = fopen("file.html","w");
    fputs($file, $page);
    fclose($file);
     
    // ou PHP 5
    //file_put_contents("file.txt", $page);

  7. #7
    Membre émérite Avatar de Djakisback
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 023
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2 023
    Points : 2 273
    Points
    2 273
    Par défaut
    Pour les sauts de page tu peux utiliser les CSS mais je crois que ca ne fonctionne pas sur tous les navigateurs :

    page-break-before et page-break-after

  8. #8
    Membre éclairé
    Avatar de kankrelune
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    763
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 763
    Points : 858
    Points
    858
    Par défaut
    Moi je pencherais plutot pour l'option numérot 1...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $fp = fopen('mon_fichier.html',"w");
    fputs($fp, file_get_contents('http://www.monSite.ext/maPage.ext'));
    fclose($fp);
    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    file_put_contents('mon_fichier.html', file_get_contents('http://www.monSite.ext/maPage.ext'));
    Après tout dépend d'où se trouve la page... si c'est en local effectivement la bufferisation de sortie est une possibilitée mais je préfère la première solution qui peut être facilement mise en place pour un grand nombre de pages via un tableau et une boucle... .. .

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    $mesPages = array(
                           'http://www.monSite.ext/maPage1.ext',
                           'http://www.monSite.ext/maPage2.ext',
                           'http://www.monSite.ext/maPage3.ext',
                           ...
                           'http://www.monSite.ext/maPage10.ext',
                           'http://www.monSite.ext/maPage11.ext'
                         );
     
    $nbPages = count($mesPages);
     
    for($i=0;$i<$nbPages;++$i)
    {
             $fp = fopen('repertoire_temporaire/'.basename($mesPages[$i]).'.html',"w");
             fputs($fp, file_get_contents($mesPages[$i]));
             fclose($fp);
     
    }
    Et aussi lire cours et tutoriels PHP.

    @ tchaOo°

  9. #9
    Membre émérite Avatar de Djakisback
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 023
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2 023
    Points : 2 273
    Points
    2 273
    Par défaut
    Effectivement ca dépend du contexte, je partais du principe qu'il s'agissait d'une page d'affichage de résultat SQL avec des param passés en get ou post.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 8
    Dernier message: 23/09/2011, 10h18
  2. pour la création de page php et html
    Par speedylol dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 12/06/2008, 23h42
  3. [SQL] Afficher X résultats par page ! (LIMIT)
    Par CaLeDo dans le forum PHP & Base de données
    Réponses: 16
    Dernier message: 13/08/2007, 23h21
  4. include, mettre sur la page php ou html?
    Par drogba-11 dans le forum Langage
    Réponses: 3
    Dernier message: 17/05/2007, 00h03

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