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 :

generer un fichier html a partir de php en interne sur serve [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre habitué
    Avatar de NoobX
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    195
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 195
    Points : 140
    Points
    140
    Par défaut generer un fichier html a partir de php en interne sur serve
    bonjour @ tous!

    je m'explique:
    J'ai 3 pages (en fait 2 et la troisieme sera générer)

    1ere page=page php trés trés longue contenant de nombreuses requete sql (select multiple....plusieur tables...)

    2eme page=c'est celle qui sera appeler par le visiteur!
    Elle fera tout le boulot, j'entend par la que je voudrai qu'elle ouvre la page 1.php et qu'elle genre la 3eme page en htm mais sans afficher la page 1 dans le navigateur du visiteur!!


    3eme page=version htm de la page 1
    tous les codes php sont remplacer par "les reponses en htm"
    le visiteur telechargera cette page une fois qu'elle sera creer

    Le but de cette operation est de generer la page 3 (html) a partir de la page 1.php en interne sur le serveur et de contourner le risque d'etre confronter a un plantage si la bande passante par exemple devennai tres mauvais et que les requetes depassait les 100 secondes autoriser par mysql!

    J'ai bien une idée pour creer mon fichier <= je verrais ca dans un second temps

    Mais comment ouvrir ma page 1 (php) en lui transmettant une variable (afin que les requetes sql puissent se dérouler normalement)
    fopen n'acccepte apparement pas d'envoyer una variable!

    psites moi si mes idées sont réalisables et surtout si vous savez + ou -comment faire et aussi des liens ou de la docs enfin tous ce qui pa m'aider!!

    Merci d'avance

  2. #2
    Nouveau membre du Club
    Profil pro
    Développeur Web
    Inscrit en
    Avril 2005
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2005
    Messages : 19
    Points : 32
    Points
    32
    Par défaut
    je suis pas sûr de bien avoir saisi ton problème, mais selon moi ta page 1 devrait être une classe ou une liste de fonctions.
    Dans ta page 2 tu fais un require_once('page 1.html') ce qui te permet d'utiliser les fonctions de la page 1 et de générer ta page 3.

    Malheureusement, j'ai le sentiment que qqch dans ton explication m'échappe

  3. #3
    Membre habitué
    Avatar de NoobX
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    195
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 195
    Points : 140
    Points
    140
    Par défaut
    bon me revoila avec des precisions et meme un morceau de script qui repond a au moins 50% des mes attentes!!
    je vais commencer par le script ca pourrai faciliter la compréhension je pense!

    ON PLACE CA TOUT AU DEBUT DE LA PAGE 1 !!!(celle qui contient les requete sql/php...)
    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
    <?php
    // Simple function to write text file
    function writeTextFile&#40;$fileName,$text&#41; &#123;
     
        $session = fopen&#40;$fileName,"a+"&#41;;
        fputs&#40;$session,$text&#41;;
        fclose&#40;$session&#41;;
    &#125;
     
    ob_start&#40;&#41;; // Début de l'enregistrement
     
    //---
    // Le script PHP qui retrounera les
    // données HTML qui vous intéressent.
    //---?>

    ET ON PLACE CA TOUT A LA FIN DE NOTRE PAGE 1 (toujours la meme)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <? $content = ob_get_contents&#40;&#41;; // Fin de l'enregistrement
    // Sauvegarder ma page dans un fichier html
    writeTextFile&#40;"$_GET&#91;VARIABLE NOM&#93;.htm",$content&#41;;//recuperation du nom pour nommer le document
    ?>
    Le resultat de ce script est que dès que cette page est applée elle genere la page html (ou autre mais pour l'exemple on dit html) avant mem d'etre completement affcher dans le navigateur!

    c'est le resultat que je voulai obtenir à une chose près mais qui est importante !! Je detaille:
    avec ce script la page html est générer en quelques dixieme de seconde puisque tous ce passe en interne (c ca qu'est bien) mais la page alors que le fichier est creer continue de se charger (pour faire apparaitre a l'ecran tout ce que l'on a inseré entre les scripts php) dans le navigateur pour rien puisque ma page cible est réaliser

    L'ideal serai d'etre rediriger sur une autre page des que la page cible est crée sans attendre le chargement du contenu de la pae 1

    ps:je crois que je suis pas beaucoup plus clair pourtant j'ai essayer
    poser toutes les questions necessaires je vous repondrai le plus vite posssible

  4. #4
    Nouveau membre du Club
    Profil pro
    Développeur Web
    Inscrit en
    Avril 2005
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2005
    Messages : 19
    Points : 32
    Points
    32
    Par défaut
    alors effectivement, ça reste très flou.
    pour la redirection vois du côté de la fonction header().
    sinon bah essaie de réexpliquer mieux (fais attention à l'orthographe ça aide à la compréhension).

  5. #5
    Membre habitué
    Avatar de NoobX
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    195
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 195
    Points : 140
    Points
    140
    Par défaut
    bon et bien malgrés le fait que j'ai beaucoup de mal a exprimer mon probleme je l'ai resolu

    En fait j'ai uliser le script que j'ai cité dans mon second message et j'ai simplement ajouté avant le script une redirection en java script vers le document qui est géneré que l'on retrouve par la variable $_GET['variable nom']

    ainsi meme une page php de plusieurs milliers de ligne est génerée en quelques dixieme de seconde puis on est redirigé vers la page génerée qui ne contient plus de php ni sql, ainsi meme si la bande passante est trés basse on ne sera pas confronté au message d'erreur qui dit qu'on a depassé les 100 secondes maximum de mysql notamment pour les 56Ko (bien que rare present...)

    Pour mieux comprendre je vous laisse un script pour faire le test vous meme!
    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    <head><SCRIPT LANGUAGE='JavaScript'>
    <!--
    function redirect&#40;&#41; 
    &#123;
    window.location='<?echo "$_GET&#91;nom&#93;";?>.html' // page ou vous voulez que l'internaute soit redirigé
    &#125;
    setTimeout&#40;'redirect&#40;&#41;',5000&#41;; // delai en millisecondes - soit ici 5 secondes.
    -->
    //Ce script permet d'etre rediriger &#40;apres un certain temps ici 5 secondes mais 1 suffit&#41; vers la page qui va etre crée
    </SCRIPT>
     
    <?php
    // Simple function to write text file
    function writeTextFile&#40;$fileName,$text&#41; &#123;
     
        $session = fopen&#40;$fileName,"a+"&#41;;
        fputs&#40;$session,$text&#41;;
        fclose&#40;$session&#41;;
    &#125;
     
    ob_start&#40;&#41;; // Début de l'enregistrement
     
    //---
    // Le script PHP qui retrounera les
    // données HTML qui vous intéressent.
    //---?>
    <? //	CHRONOMETRE
    // On récupère la date au lancement de la page
    $temps = microtime&#40;&#41;;
    $temps = explode&#40;' ', $temps&#41;;
    $debut = $temps&#91;1&#93; + $temps&#91;0&#93;;
    //	CHRONOMETRE?>
     
     
    INSEREZ ICI VOTRE PAGE PHP AVEC LES BALISES SQL, PHP ET HTML 
    IL S'AGIT DE LA PAGE SOURCE !!!
     
     
     
    <? //CHRONOMETRE
    // On récupère la date de fin d'exécution du script
    $temps = microtime&#40;&#41;;
    $temps = explode&#40;' ', $temps&#41;;
    $fin = $temps&#91;1&#93; + $temps&#91;0&#93;;
     
    // On affiche la différence entre des deux valeurs
    echo 'Page exécutée en '.round&#40;&#40;$fin - $debut&#41;,6&#41;.' secondes.';
    // CHRONOMETRE?>
    </div>
    </div>
     
    <? $content = ob_get_contents&#40;&#41;; // Fin de l'enregistrement
    // Sauvegarder ma page dans un fichier html
    writeTextFile&#40;"$_GET&#91;nom&#93;.html",$content&#41;;
    ?></body>
    </html>
    Vous remarquerez la présence d'un chronometre permettant de comparer la vitesse d'executione de la page !
    voili voilou

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

Discussions similaires

  1. Generer un fichier.html en java.
    Par ox@na dans le forum Entrée/Sortie
    Réponses: 1
    Dernier message: 04/05/2008, 11h30
  2. [OpenOffice][Base de données] generer un fichier sql a partir d open office
    Par tesnimeronsard dans le forum OpenOffice & LibreOffice
    Réponses: 0
    Dernier message: 18/02/2008, 21h19
  3. Java/XML generer un fichier XML a partir d'une Servlet
    Par fabricew59 dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 03/04/2007, 12h43
  4. generer un fichier txt a partir d'un formulaire php
    Par ouabi dans le forum Langage
    Réponses: 2
    Dernier message: 13/02/2006, 20h15
  5. Comment générer des fichiers html ?
    Par keke33 dans le forum Entrée/Sortie
    Réponses: 4
    Dernier message: 04/06/2004, 17h28

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