Dynamische Html seite in Datei speichern

Soapp

Erfahrenes Mitglied
Ich habe eine PHP Seite, mit Datenbankzugriffen etc.

Daraus wird dann HTML erzeugt.
Sprich Tabellen, DIV's, Hintergrundbilder, und zwischendrin Text aus der Datenbank.

Ich möchte nun nur den HTML-OUTPUT in eine Datei speichern.

Wie könnte ich das machen ?

Danke

Soapp
 
Hi Soapp,

wie wär`s damit:::

$content = "dein_html_output";
$datei = "deine_html_datei.html";

$fp = fopen ($datei,"w");
flock($fp,2,4);
fwrite ($fp,$content);
flock($fp,3,4);
fclose ($fp);

Einen schönen Tag noch wünscht
coral
 
coral hat gesagt.:
Hi Soapp,

wie wär`s damit:::

$content = "dein_html_output";
$datei = "deine_html_datei.html";

$fp = fopen ($datei,"w");
flock($fp,2,4);
fwrite ($fp,$content);
flock($fp,3,4);
fclose ($fp);

Einen schönen Tag noch wünscht
coral


Dann müsste ich aus der ganzen Datei alle Html Tags rauspfriemeln und in einen String anhängen. Das stell ich mir kompliziert vor. Gibts denn keine Header-Variable die den
Html Code enthält die zum Browser geschickt wird ?

mein programmierstil ist so (php und html gemischt)

PHP:
<table width="76%"  border="0" align="center">
  <tr>
    <td width="35%"><form name="form2" method="post" action="<?php echo $_PHP['self'];?>">
        <span class="style4">ausw&auml;hlen:</span>        
        <select name="blubb" id="managen" onChange="this.form.submit();">
          <option></option>
          <?php 

$result= mysql_query("SELECT * FROM TABELLE  ORDER BY ID");
while ($row = mysql_fetch_object($result)) 
{

$valu = $row->ID;
if ($valu == $flag) {print "<option selected value=$valu".">".$row->NAME. $zusatz."</option>";		} else {
print "<option value=$valu".">".$row->NAME.$zusatz."</option>";}			     
}
?>
        </select>
    </form></td>
    <?php 
$today="";
if (!empty($obj))
{
$times = mysql_query("select TIMESTAMP from changes where obj = '$obj'");
$timest2 = mysql_fetch_array($times);
$timestamp = $timest2['TIMESTAMP'];
$today = date("d.m.y - G:i",$timestamp); 
} 
?>
    <td width="17%"><a href="drucken.php?id=<?php echo $obj;?>" target="_blank">Drucken</a></td>
    <td width="23%"><span class="style3">letzte &Auml;nderung:</span> <?php echo $today;?></td>
  </tr>
</table>
 
Hi Soapp,

probier` mal das:::

PHP:
<?PHP
$result= mysql_query("SELECT * FROM TABELLE  ORDER BY ID");
while ($row = mysql_fetch_object($result)) {
    $valu = $row->ID;
    if ($valu == $flag) {
        $option = "<option selected value=$valu".">".$row->NAME. $zusatz."</option>";        
    } else {
        $option = "<option value=$valu".">".$row->NAME.$zusatz."</option>";
    }                 
}

$today="";
if (!empty($obj)) {
    $times = mysql_query("select TIMESTAMP from changes where obj = '$obj'");
    $timest2 = mysql_fetch_array($times);
    $timestamp = $timest2['TIMESTAMP'];
    $today = date("d.m.y - G:i",$timestamp); 
} 

$string .= "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">\n";
$string .= "<html>\n";
$string .= "<head>\n";
$string .= "<title>Untitled</title>\n";
$string .= "</head>\n";
$string .= "<body>";
$string .= "<table width=\"76%\"  border=\"0\" align=\"center\">\n";
$string .= "  <tr>\n";
$string .= "    <td width=\"35%\"><form name=\"form2\" method=\"post\" action=\"$_PHP['self']\">\n";
$string .= "        <span class=\"style4\">ausw&auml;hlen:</span>        \n";
$string .= "        <select name=\"blubb\" id=\"managen\" onChange=\"this.form.submit();\">\n";
$string .= "          <option></option>\n";
$string .= "          ${option}\n";
$string .= "        </select>\n";
$string .= "    </form></td>\n";
$string .= "\n";
$string .= "    <td width=\"17%\"><a href=\"drucken.php?id=<?php echo $obj;?>\" target=\"_blank\">Drucken</a></td>\n";
$string .= "    <td width=\"23%\"><span class=\"style3\">letzte &Auml;nderung:</span>${today}></td>\n";
$string .= "  </tr>\n";
$string .= "</table>";
$string .= "</body>\n";
$string .= "</html>";

$content = $string;
$datei = "deine_html_datei.html";

$fp = fopen ($datei,"w");
flock($fp,2,4);
fwrite ($fp,$content);
flock($fp,3,4);
fclose ($fp);
?>

Anmerkung::: Einrückungen in einem Code sind sehr hilfreich...

Einen schönen Tag noch wünscht
coral
 
Anmerkung::: Einrückungen in einem Code sind sehr hilfreich...

Einen schönen Tag noch wünscht
coral


:-)

danke für die Zeit, die du dir genommen hast. ich werde es ausprobieren.

hm, und was ist DAS ? ${option}
 
Hi

Mit den
Funktionen zur Ausgabesteuerung würde auch noch einfacher gehen:

PHP:
<?php ob_start(); ?>
<table width="76%"  border="0" align="center"> 
  <tr> 
    <td width="35%"><form name="form2" method="post" action="<?php echo $_PHP['self'];?>"> 
        <span class="style4">ausw&auml;hlen:</span>         
        <select name="blubb" id="managen" onChange="this.form.submit();"> 
          <option></option> 
          <?php  

$result= mysql_query("SELECT * FROM TABELLE  ORDER BY ID"); 
while ($row = mysql_fetch_object($result))  
{ 

$valu = $row->ID; 
if ($valu == $flag) {print "<option selected value=$valu".">".$row->NAME. $zusatz."</option>";        } else { 
print "<option value=$valu".">".$row->NAME.$zusatz."</option>";}                  
} 
?> 
        </select> 
    </form></td> 
    <?php  
$today=""; 
if (!empty($obj)) 
{ 
$times = mysql_query("select TIMESTAMP from changes where obj = '$obj'"); 
$timest2 = mysql_fetch_array($times); 
$timestamp = $timest2['TIMESTAMP']; 
$today = date("d.m.y - G:i",$timestamp);  
}  
?> 
    <td width="17%"><a href="drucken.php?id=<?php echo $obj;?>" target="_blank">Drucken</a></td> 
    <td width="23%"><span class="style3">letzte &Auml;nderung:</span> <?php echo $today;?></td> 
  </tr> 
</table>
<?php 
    $text = ob_get_contents(); 
    $datei = "deine_html_datei.html";

    $fp = fopen ($datei,"w");
    flock($fp,2,4);
    fwrite ($fp,$text);
    flock($fp,3,4);
    fclose ($fp);

    ob_end_flush() //Sendet den Dateiinhalt (wird also angezeigt)

    //oder:
     
    ob_end_clean() //Löscht den Buffer (zeigt also nichts an)
?>
 
Hi birnkammer,

na, da hab` ich ja auch noch was zu gelernt... ;-)
Da ich normalerweise Script und Ausgabe trenne, wird diese Funktion bei mir kaum zur Verwendung kommen, doch wer weiss, wo ich`s mal einsetzen kann...
Sehr interessant jedenfalls...
Natürlich müsste man in diesem Fall den String noch vervollständigen, da ja so nur die Tabelle selbst abgespeichert wird...

Einen schönen Tag noch wünscht
coral
 
Zurück