PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Html Datei auslesen und in neuer Datei speichern


26toto26
06.06.2008, 11:59:38
Hallo an alle,

ich möchte den Inhalt meiner Sitemap in eine neue XML-Datei speichern. Dazu benutze ich folgenden Code:

<?php
$text = fopen("http://diabetesexpert.de/index.php?option=com_xmap&sitemap=1&view=xml&no_html=1","r"); // Dateiinhalt
$dateiname = "test.txt"; // Name der Datei
$handler = fOpen($dateiname , "a+"); // Datei öffnen, wenn nicht vorhanden dann wird die Datei erstellt.
fWrite($handler , $text); // Dateiinhalt in die Datei schreiben
fClose($handler); // Datei schließen
?>

Leider wird keine Datei erstellt und ich bekomme auch keine Fehlermeldung.
Was mache ich falsch???

Gruß
Torsten

Opendix
06.06.2008, 12:02:19
Benutze besser die Funktion:
http://ch2.php.net/manual/de/function.file-put-contents.php

macht das ganze wesentlich einfacher!
Eigentlich müsste die Datei ja erstellt werden, vor allem wen kein Fehler angezeigt wird!

Schrieb noch am anfang folgendes um wirklich alle Meldungen auszugeben:

error_reporting(E_ALL);

26toto26
06.06.2008, 12:23:52
Hallo Opendix,

Danke erst mal für die schnelle Antwort.

Okay Datei wird erstellt es lag an den Verzeichnisrechten. Jetzt habe ich aber nicht den gewünschten Inhalt. Rufe ich diese URL im Browser auf bekomme ich eine schöne Sitemap für Google. In meiner Datei steht aber nur "Resource id #3"


Mit deinen Link kann ich leider nichts Anfangen. Ich bin totaler PHP neuling. An welcher Stelle muß ich den Code ändern?

Danke und Gruß
Torsten

Opendix
06.06.2008, 12:56:17
Also das liegt daran, dass die Funktion fopen dir nicht den Inhalt der Seite zurückliefert sondern nur einen Zeiger auf diese Datei über den du nun den Inhalt auslesen kannst!

Gugsch du mal hier:
http://www.fabians-webdesign.de/d-web/php/file_read.htm

Wenns noch Fragen gibt einfach nochmals posten :)

26toto26
06.06.2008, 13:59:50
Also ich habe jetzt mal den Code so geändert

<?php
error_reporting(E_ALL);
$fn="http://diabetesexpert.de/index.php?option=com_xmap&sitemap=1&view=xml&no_html=1";

$fp=fopen($fn, "r");
$inhalt=fread($fp, filesize($fn));
fclose($fp);

echo $inhalt;
?>


Da bekomme ich keinen Fehler aber auch keine Ausgabe auf dem Bildschirm. :-(

Was ist jetzt wieder falsch?

Gruß
Torsten

26toto26
06.06.2008, 16:11:20
Habe es jetzt so gemacht und geht ohne Probleme

<?php
error_reporting(E_ALL);
$text = file_get_contents("http://diabetesexpert.de/index.php?option=com_xmap&sitemap=1&view=xml&no_html=1","r");
// Dateiinhalt
$dateiname = "test.xml"; // Name der Datei
$handler = fOpen($dateiname , "a+"); // Datei öffnen, wenn nicht vorhanden dann wird die Datei erstellt.
fWrite($handler , $text); // Dateiinhalt in die Datei schreiben
fClose($handler); // Datei schließen
?>

Danke für die Hilfe

Gruß
Torsten

Opendix
06.06.2008, 18:00:15
$text = file_get_contents('deinlink');
file_put_contents('dieDatei.txt');


Wäre wohl noch fast einfacher :)