Visualizzazione risultati 1 fino 6 di 6

Discussione: [php]pagina semi-dinamica

  1. #1
    Guest

    Predefinito [php]pagina semi-dinamica

    Sto provando a fare girare questo script generateindex.php per trasformare la index.php in una index.html inmaniera da limitare le query al database. Però non funziona nel senso che la pagina index.html viene generata però è come se il server non fa girare il php infatti presenta il codice php nella sua sorgente. Sapete come mai?
    Questo è lo script che uso:

    Codice PHP:
    <?php
    // Sets the files we'll be using
    $srcurl = '/membri2/tonyz/index.php'; // This must be a URL!
    $tempfilename = 'tempindex.html'; // This must be a filename!
    $targetfilename = 'index.html'; // Also a filename!
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <title>Generating <?php echo $targetfilename; ?></title>
    <meta http-equiv="content-type"
    content="text/html; charset=iso-8859-1" />
    </head>
    <body>
    <p>Generating <?php echo $targetfilename; ?>...</p>
    <?php

    // Begin by deleting the temporary file, in case
    // it was left lying around. This might spit out an
    // error message if it were to fail, so we use
    // @ to suppress it.
    @unlink($tempfilename);

    // Load the dynamic page by requesting it with a
    // URL. The PHP will be processed by the Web server
    // before we receive it (since we're basically
    // masquerading as a Web browser), so what we'll get
    // is a static HTML page. The 'r' indicates that we
    // only intend to read from this "file".
    $dynpage = fopen($srcurl, 'r');

    // Check for errors
    if (!$dynpage) {
    exit(
    "<p>Unable to load $srcurl. Static page update aborted!</p>");
    }

    // Read the contents of the URL into a PHP variable.
    // Specify that we're willing to read up to 1MB of
    // data (just in case something goes wrong).
    $htmldata = fread($dynpage, 1024*1024);

    // Close the connection to the source "file", now
    // that we're done with it.
    fclose($dynpage);

    // Open the temporary file (creating it in the
    // process) in preparation to write to it (note
    // the 'w').
    $tempfile = fopen($tempfilename, 'w');

    // Check for errors
    if (!$tempfile) {
    exit(
    "<p>Unable to open temporary file ($tempfilename) for writing. Static page update aborted!</p>");
    }

    // Write the data for the static page into the
    // temporary file
    fwrite($tempfile, $htmldata);

    // Close the temporary file, now that we're done
    // writing to it.
    fclose($tempfile);

    // If we got this far, then the temporary file
    // was successfully written, and we can now copy
    // it on top of the static page.
    $ok = copy($tempfilename, $targetfilename);

    // Finally, delete the temporary file.
    unlink($tempfilename);

    ?>
    <p>Static page successfully updated!</p>
    </body>
    </html>
    Grazie
    Ciao

  2. #2
    Guest

    Predefinito

    perchè te leggi il contenuto della pagina php e quindi lui ti copia anche il codice della pagina php...

  3. #3
    Guest

    Predefinito

    A parte il fatto che non capisco la storia di limitare le query al db, il fatto è che il php viene processato dal server solo se la pagina in questione è salvata come .php


    ciao!!!

  4. #4
    Guest

    Predefinito

    questo script non me lo sono inventato ma l'ha scritto il grande kevin yank nel suo libro "Siti web PHP e MYSQL". Il server dovrebbe interpretare la pagina index.php letta con fopen e salvarne copia statica index.html. Ineffetti mi sembra una cosa logica e funzionale come fare il copia incolla dellasorgente di un file php dal browser e salvarlo come pagina html. Questo quando non si aggiorna sovente il db permette di non stressare inutilmente il server.
    Qualcun altro ha idea di perchè fopen non mi interpretail php?

  5. #5
    Guest

    Predefinito

    semplicemente xkè fopen nn interpreta il php, a meno ke qst nn venga processato prima di essere letto, x farlo prima del nome del file scrivi php://
    cmq, cn tutto il rispetto x l'autore, qst codice nn serve a molto...alla fine se il tuo sito ha un numero di accessi nella norma e la tua homepage fa poche query al database puoi tranquillamente farne a meno
    Ultima modifica di SoulHome : 31-10-2005 alle ore 14.45.07

  6. #6
    Guest

    Predefinito

    Sono daccordo... Se il tuo sito è su altervista compra qualche altercent in piu per salire ad una classe superiore.. In fin dei conti fare una query in piu rende l'apertura della pagina solo di qualche centesimo di secondo piu lenta...

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •