einfach im Browser Datei / Speichern unter wählen !?
Hallo !
Ich möchte eine Seite, die nach dem Aufruf einer PHP-Datei im Browser angezeigt wird komplett in eine .htm-Datei speichern.
Ich hab im Moment keinen blassen Schimmer, wie ich vorgehen soll.
Kann mir jemand einen Tip geben ?
Danke im Voraus !
Grüße
Frank
einfach im Browser Datei / Speichern unter wählen !?
Also erstmal Danke für die Antwort !
Ich möchte das aber so lösen, das die htm-Seite durch ein php-Script gespeichert wird.
Also die erste php-Datei wird aufgerufen und generiert ein htm-Dokument, das im Browser angezeigt wird.
Dann Soll per Script die Seite als .htm gespeichert werden.
Danke
Hi !
also meine Idee wäre dieser hier:
..meinst du so??PHP-Code:<? ob_start();
// Ab hier, die Seite mit deinen PHP-Scripten...
// #############################################
?>
<HTML>
<HEAD>
<TITLE><? echo "PHP-Testseite";?></TITLE>
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#FF0000" ALINK="#FF0000" VLINK="#FF0000">
Mal schaune ob das klappt...<BR>
<BR>
<?
for($i=1; $i< 10; $i++) {
echo "Dolle Schleife... wir sind schon bei Nummer $i<BR>\n";}
?>
</BODY>
</HTML>
<?
// #############################################
// Ende der eigentlichen Seite
$content = ob_get_contents();
ob_end_clean();
// Datei speichern
$handler = fopen("test.html","w");
if(fputs($handler, $content)) {
echo $content;}
else {
echo "Datei konnte nicht erstellt werden.";}
fclose($handler);
?>
Der Sinn würde mich allerdings interresieren
Gruß Jan
Ich werde das dann nacher gleich testen und ne Antwort schreiben obs funzt.
Ich muss leider noch ein paar Dinge abarbeiten bevor ich heim darf
Ich meld mich heut bis spätestens 19:00 wieder und sag bescheid.
Soweit ein dickes Danke
Ich möchte einen Dummy für Suchmaschinen machen.
Zuerst werden alle Dateien und Ordner im htm-Verzeichnis ausgelesen. Diese werden dann als eine Art Link-Liste in eine htm-Datei geschrieben (die ich dann speichern will).
Zusätzlich werden die Keywords aus einer .TXT in Vordefinierte Satzbauteile eingelesen und als Beschreibung neben die Links gesetzt.
Von der Startseite geht dann ein unsichtbarer Textlink zum Dummy (Die mit php gespeicherte Seite)
Das ganze hat den Sinn die Produktionszeit für Dummys zu reduzieren :-)
Grüße
Frank
Ich habs noch nicht geschafft...
Das folgende Script gibt mir immer "Datei konnte nicht erstellt werden" zurück.
Kann mir jemand auf die Sprünge helfen ?
DANKE !
Frank
<?PHP
function show_dir($dir, $pos=2)
{
if($pos == 2)
{
echo "<hr><pre>";
}
$handle = @opendir($dir);
while ($file = @readdir ($handle))
{
if (eregi("^\.{1,2}$",$file))
{
continue;
}
if(is_dir($dir.$file))
{
printf ("% ".$pos."s <b>%s</b>\n", "|-", $file);
show_dir($dir.$file."/", $pos + 3);
}
else
{
printf ("% ".$pos."s %s\n", "|-","<a href=$file>$file</a>");
printf ("$content = ob_get_contents(); ob_end_clean();
// Datei speichern
$handler = fopen("test.html","w");
if(fputs($handler, $content)) {
echo $content;}
else {
echo "Datei konnte nicht erstellt werden.";}
fclose($handler);
} ");
}
@closedir($handle);
if($pos == 2)
{
echo "</pre><hr>";
}
}
show_dir("./");
?>
Hi !!
Also was du da hast, ist ja irgendwie ein totales Wirrwar...
Mach es doch einfach so, wie ich es gepostet habe. Da habe ich doch extra fette Markierungen gemacht, wo die zu speichernde Seite rein soll. (incl. deines ganzem PHP-Codes)
Probier es erstmal so aus, dass nichts außerhalb dieser Markierung ist.
Gleich noch ne' Frage: Was soll das bewirken??
btw... du hast ob_start(); garnicht ausgeführt...PHP-Code:printf ("$content = ob_get_contents(); ob_end_clean();
// Datei speichern
$handler = fopen("test.html","w");
if(fputs($handler, $content)) {
echo $content;}
else {
echo "Datei konnte nicht erstellt werden.";}
fclose($handler);
} ");
Wenn du keine Datei speichern kannst mußt du vielleicht nochmal die chmod-Rechte überprüfen.
Bis denne
Jan
Tausend dank das funtz jetzt alles !
Jetzt popel ich schon wieder an dem nächsten Problem:
Kann ich mit die printf-Anweisung eine for-Schleife ausgeben ?
Wenn ich die schleife davor setze macht er es, aber wiederholt das $file auch so oft wie er die Anzahl an Sätzen findet.
printf ("% ".$pos."s %s\n", "|-","<a href=$file>$file</a> $saetzte[$x] $einzeln[$x]");
Die for schleife:
for ($x=0;$x<count($saetze);$x++){
}
Wie kann ich son Ding in die Ausgabe bei printf reinpacken ? Also um die $saetze[$x] $einzeln[$x] herum.
poste bitte nochmal den ganzen Code... So, wie es bisher aussieht...
Das mit dem Array $saetze weiss ich noch nich ob ich so oder mit txt machen soll.
ich hab aber bestimmt nen wurm drin
also bidde nicht töten dafür *g
und thx für die intensive hilfe
PHP-Code:<?
ob_start();
function show_dir($dir, $pos=2)
{
if($pos == 2)
{
echo "<hr><pre>";
}
$array = get_meta_tags ("indexxx.html");
$einzeln = explode(",",$array[keywords]);
$saetze = array("Hier finden Sie alles über","Es gibt hier interessantes über","Wollten Sie schon immer Infos zum Thema", "Hatten Sie schon die Information zu");
$handle = @opendir($dir);
while ($file = @readdir ($handle))
{
if (eregi("^\.{1,2}$",$file))
{
continue;
}
if(is_dir($dir.$file))
{
printf ("% ".$pos."s <b>%s</b>\n", "|-", $file);
show_dir($dir.$file."/", $pos + 3);
}
else
{
printf ("% ".$pos."s %s\n", "|-","<a href=$file>$file</a> $saetze[1] $einzeln[1]");
}
}
@closedir($handle);
if($pos == 2)
{
echo "</pre><hr>";
}
}
show_dir("./");
?>
<?
// #############################################
// Ende der eigentlichen Seite
$content = ob_get_contents();
ob_end_clean();
// Datei speichern
$handler = fopen("test.html","w");
if(fputs($handler, $content)) {
echo $content;}
else {
echo "Datei konnte nicht erstellt werden.";}
fclose($handler);
?>
Hi !
Ich hab jetzt mal so gebastelt, dass sich das Script auch jeweils aus der Aufgeführten Datei die Metatags rausholt und auflistet. Dann werden jetzt nur htm, html, php und php4 - Dokumente aufgelistet. Bei bedarf kannst du das ganz einfach anpassen.
Mit deinen Sätzen hab ich einfach einen Zähler mit ins Spiel gebracht, der immer wieder von vorn anfängt, sobald das Array durch ist. Ich hoffe so wolltest du das haben?
PHP-Code:<?
ob_start();
function show_dir($dir, $pos=2)
{
if($pos == 2) {
echo "<hr><pre>"; }
$i = 0;
$saetze = array("Hier finden Sie alles über","Es gibt hier interessantes über","Wollten Sie schon immer Infos zum Thema", "Hatten Sie schon die Information zu");
$handle = @opendir($dir);
while ($file = @readdir ($handle))
{
if (eregi("^.{1,2}$",$file)) {
continue;}
if($i == count($saetze)) {$i = 0;}
if(is_dir($dir.$file))
{
printf ("% ".$pos."s <b>%s</b>\n", "|-", $file);
show_dir($dir.$file."/", $pos + 3);
}
else if(eregi("\.(htm|html|php|php4)$",$dir.$file)) // Hier kannst du alle gewünschten Dateiendungen angeben
{
$array = get_meta_tags ($dir.$file);
$einzeln = explode(",",$array[keywords]);
printf ("% ".$pos."s %s", "|-","<a href=\"$dir$file\">$file</a> $saetze[$i]");
$einzelnvalues = array_values($einzeln);
foreach($einzelnvalues as $value) {
echo " $value";}
echo "\n";
}
$i++;
}
@closedir($handle);
if($pos == 2)
{
echo "</pre><hr>";
}
}
show_dir("./");
// #############################################
// Ende der eigentlichen Seite
$content = ob_get_contents();
ob_end_clean();
// Datei speichern
$handler = fopen("test.html","w");
if(fputs($handler, $content)) {
echo $content;}
else {
echo "Datei konnte nicht erstellt werden.";}
fclose($handler);
?>
das Licht, das mir mit Deiner Hilfe aufging ist schon extrem hell
Das is genau das was ich machen wollte, und dank deiner Hilfe hab ichs auch alles, zumindest fast alleskapiert.
So jetzt muss ich noch fleisig weiterlernen, so dass ich das Ding zu 100% gefressen habe. Und dann mach ich mich gleich ans die nächste Aufgabe, die ich mir aber erst noch ausdenken muss. Evtl. Verwaltung von laufeden und abeschlossen projekten mit Kundendatenbank oder so?
Axo, die Grundlagen muss ich auch noch ... aber PHP macht Spass, das war mein erstes und sicher nicht mein letztes Projekt.
Also viele Grüße und nochmal ein fettes DANKESCHÖN
PS: Dieses Forum muss ich öfter besuchen, vielleicht bin ich ja in den nächten Monaten auch in der Lage, den ein oder anderen Tipp geben zu können.
freut mich wenn ich dir helfen konnte... Genau dazu ist dieses Forum ja da
Also, dann noch viel Spaß beim proggen... und beim spielen mit dem "Licht"
Gruß Jan
...falls von euch auch jemand counter-strike spielt, mein nick ist:
geono
man findet mich meist auf dem white-clan-server
www.white4ever.de
da bin ich immer wenn das Licht mal aus is ... *gg*
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)