PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [PHP] HTML-Datei erzeugen lassen


Scream
2008-01-10, 15:22:33
Ich habe eine PHP-Datei die Text aus meiner Datenbank liest und dann alles ausgibt.
Nun möchte ich gerne das Ausgegebene als HTML-Datei auf den Server legen / abspeichern.
Nur wie mache ich das am besten? Habe schon gerätselt aber mir ist keine einfache Lösung eingefallen.

<?php
include 'inc/config.php';

if (isset($_GET['ID'])) {
$ID=$_GET['ID'];

$query = "SELECT * FROM tool_save WHERE id = '$ID'";
$result = pg_query($db, $query) OR die(pg_last_error());

while ($line = pg_fetch_array($result) ) {

echo "<h1>Ursache</h1>";
}
?>
<br /><br />
<table cellpadding="5">
<tr><td width="45%"><strong>Störungsbeginn:</strong></td><td><?PHP echo $line['beginn']; ?></td></tr>
<tr><td width="45%"><strong>Störungsende:</strong></td><td><?PHP echo $line['ende']; ?></td></tr>

<tr><td width="45%"><strong>Störungsursache:</strong></td><td><?PHP echo $line['ursache']; ?></td></tr>


<?php
} }


?>

The_Invisible
2008-01-10, 15:43:43
naja, den code so umzuschreiben das er alles in eine datei schreibt statt stdout ist ja nicht soviel aufwand wenn das der ganze code ist.

ansonsten könntest du mit popen() die datei selber aufrufen mittels php-cli-interpreter und den output in eine datei schreiben, dabei nicht vergessen einen parameter oder so zu übergeben da es sonst nen loop-of-death gibt. oder wenns im web erreichbar ist per socketverbindung die seite aufrufen und den html-code auslesen.

mfg

Sephiroth
2008-01-10, 16:50:18
Ich habe eine PHP-Datei die Text aus meiner Datenbank liest und dann alles ausgibt.
Nun möchte ich gerne das Ausgegebene als HTML-Datei auf den Server legen / abspeichern.
Nur wie mache ich das am besten? Habe schon gerätselt aber mir ist keine einfache Lösung eingefallen.

<?php
include 'inc/config.php';

if (isset($_GET['ID'])) {
$ID=$_GET['ID'];

$query = "SELECT * FROM tool_save WHERE id = '$ID'";
$result = pg_query($db, $query) OR die(pg_last_error());

while ($line = pg_fetch_array($result) ) {

echo "<h1>Ursache</h1>";
}
?>
<br /><br />
<table cellpadding="5">
<tr><td width="45%"><strong>Störungsbeginn:</strong></td><td><?PHP echo $line['beginn']; ?></td></tr>
<tr><td width="45%"><strong>Störungsende:</strong></td><td><?PHP echo $line['ende']; ?></td></tr>

<tr><td width="45%"><strong>Störungsursache:</strong></td><td><?PHP echo $line['ursache']; ?></td></tr>


<?php
} }


?>
das einfachste wäre die art
ob_start();
echo "blafasel";
$out = ob_get_clean();
file_put_contents("datei.html", $out);

Scream
2008-01-11, 08:41:19
naja, den code so umzuschreiben das er alles in eine datei schreibt statt stdout ist ja nicht soviel aufwand wenn das der ganze code ist.


ne ist leider extrem viel mehr, habe ich hier nur gekürzt
wollte ne andere möglichkeit finden denn umschreiben ist zu viel arbeit

The_Invisible
2008-01-11, 13:14:37
ok, dann würde ich aber Sephiroths methode nehmen, warum kompliziert wenn es auch einfach geht.

mfg

Scream
2008-01-11, 13:15:48
jop werde ich dann auch machen
aber erst am montag ;) jetzt ist WE

Scream
2008-01-17, 08:41:49
danke hat funktioniert :)

daflow
2008-06-05, 15:39:35
Threadhijacking FTW... ;)

Hab dasselbe gebraucht, klappt auch 1a, nur würde ich gern nicht nur die Seite in HTML-Form speichern sondern auch anzeigen lassen... helft mir mal auf die Sprünge bitte :)

daflow
2008-06-05, 16:11:38
lalala hab einfach sowas geaddet <meta http-equiv="refresh" content="0; URL=http://example.com">
;(

Gast
2008-06-05, 16:19:28
Also entweder bei Sephiroths Weise einfach ein echo $out;
oder alternativ

ob_start();
echo "blafasel";
$out = ob_get_contents();
file_put_contents("datei.html", $out);
ob_end_flush();