Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    24

    convertire pagina da dinamica a statica

    Buongiorno a tutti,
    ho creato un applicativo web che, a fronte di un inserimento dati, mi effettua alcuni calcoli e mi da un output.
    Mi è stato richiesto di poter salvare i dati che ottengo su una pagina statica in modo che quando si fa un nuovo input i risultati "vecchi" siano visibili nello stesso e identico formato di quando è stato fatto il calcolo.
    Attualmente faccio un output in un file di testo che però non "piace" vorrebbero che inserissi anche tutta la grafica (soprattutto alcune immagini che vengono create dinamicamente con le gd) e i formati.

    Cerco di spiegarmi ancora meglio:
    Situazione attuale:
    input dati -> calcolo -> click su "salva" -> creazione file txt con dati

    Situazione desiderata:
    input dati -> calcolo -> click su "salva" -> creazione file html in una nuova cartella che contenga anche tutta la grafica.

    Esiste una funzione o qualcosa di già scritto che mi permette di fare questo o mi devo creare "a manina" tutto il codice?

    Spero di essere stato sufficientemente chiaro.

    Grazie

    Ciao

  2. #2
    i template engine generano pagine web e le salvano in cache se lo vuoi...

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    24
    Scusa, non ho ben capito la tua risposta cosa sono i template engine? ma forse non è quello che cerco.
    Il file html non deve essere salvato sul client ma deve essere creata una nuova cartella sul server con all'interno un file che si chiami index.htm che contiene tutte le informazioni che ho sulla pagina dinamica, in modo che un domani chiunque possa andare a consultare i dati "storici" e se li trovi con lo stesso output. Più o meno.

    Ciao

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2003
    Messaggi
    34
    Puoi catturare l'output del php in una stringa con ob_start() e ob_get_clean() guarda sul manuale php. Poi salvi la stringa in un file. Per la grafica e quindi i relativi files esterni penso che tu debba sviluppare del codice apposito.

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    24
    Io l'ho risolta così:
    ho copiato la pagina che fa i calcoli in un nuovo file, all'inizio ho messo un bel fopen.
    Ho sostituito tutti gli echo con dei fwrite e funziona perfettamente.

    Ci ho pensato un po' agli ob ma non ho capito se riuscivo a passare i post, e così alla fine ho rinunciato.

    Grazie comunque ciao

    F@no

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    228

    codice

    non e' mica che potresti postare il codice...mi potrebbe venir utile in un progettino

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    24
    quale parte ti interessa?

    te lo scrivo molto semplificato dimmi se ti basta:

    ci sono 2 pagine calcoli.php e salva.php

    il contenuto di calcoli.php è fatto più o meno così:
    codice:
    <?
    echo "contenuto del post: ".$_POST['post'];
    
    
    echo'<form method="post" action="salva.php">
    <input type="hidden" name="post" value="'.$_POST['post'].'">
    <input type="submit" value=SALVA">';
    
    ?>
    in pratica io gli faccio salvare una pagina che contenga solo la prima riga di questo file, il form non me lo deve salvare.
    ecco il codice di salva.php
    codice:
    <?
    $fp=fopen("feno.htm", "w")
    //sostituisco l'echo con fwrite
    fwrite($fp, "contenuto del post:".$_POST['post']);
    
    
    ?>
    In questo modo quando clicco su salva lui mi crea una pagina feno.htm che contiene l'output di calcoli.php.

    spero di essere stato chiaro.
    questo è un esempio molto stringato il mio file in realtà ha un codice molto più complesso ma la struttura non cambia. Ad esempio ho una pagina intermedia in cui faccio chiedere il nome del file da salvare.

    Ciao

  8. #8
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    228

    diciamo

    diciamo che mi basta...se poi hai anche quella pagina intermedia meglio...

  9. #9
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    24
    più o meno così:

    codice:
    echo '<font face="Lucida Console" size="4">
    
    
    &nbsp</p><p align="center">
    DIGITA IL NOME DEL FILE SENZA ESTENSIONE</p>
    <form method="POST" action="salva.php">
    <p align="center"> 
    <input type="text" name="filename"> .htm</font></p>';
    //qui gli ho fatto dire il nome del file
    
    //adesso passo alla pagine successiva tutti i post 
    //che ho ricevuto
         foreach($_POST as $name=>$value)
         {echo '<input type="hidden" name="'.$name.'" value="'.$value.'">';} 
    
    
          echo'<p align="center"><input type="submit" value="OK"></form> </p>';
    Quando fai fopen anzichè scrivere nel file di salvataggio
    $fp=fopen("feno.htm", "w");
    scrivi
    $fp=fopen($_POST['filename'].".htm", "w");

    ed il gioco è fatto

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.