Dateiinhalt in Variable verschicken
Patrick
- php
0 Andreas Görtz0 Patrick0 Andreas Görtz0 Patrick
Hallo zusammen,
ich habe ein PHP-Script (CMS-System) was einen Datei-Inhalt per Variable erwartet (stripslashes($HTTP_POST_VARS['textarea_name']). An dem CMS-Editor kann ich nichts ändern!
Jetzt will ich per Link den Pfad der zu ändernden Datei an ein Hilfsscript geben:
<a href="http://..readfile.php?pfad=/content/inhalt.html">
Dieses Script soll die gesamte Datei in eine Variable laden _und_ diese Variable an das CMS-System übergeben.
Bis zum auslesen der Datei über den übergebenen Pfad komme ich, aber das abschicken bekomme ich nicht hin. Nach der Suche hier im Forum wäre die einzige Möglichkeit bis jetzt folgende:
Aber das ist doch keine saubere Lösung, oder?
Gruß Patrick
Hi,
[...]
- Variable mit einem Formular verknüpfen
- und das Formular dann automatisch an den Editor verschicken.
Aber das ist doch keine saubere Lösung, oder?
nein - du brauchst kein Formular zu bauen. Du kannst mittels fsockopen() (http://www.php.net/manual/en/function.fsockopen.php) eine Socket-Verbindung zum Server herstellen und einen POST-Request simulieren. Ein Beispiel findest du hier: http://www.dclp-faq.de/q/q-code-post.html.
Gruß,
Andreas.
Danke,
aber das sendet doch einfach nur die Daten, oder? Ich müsste dann schon auf die Seite kommen, da die aus der Datei übergebenen Daten auf der Editor.php Seite in eine textarea geschrieben werden sollen, und dann kann ich eben die Daten bearbeiten.
gruß Patrick
Hi,
aber das sendet doch einfach nur die Daten, oder?
nein, nicht nur.
Ich müsste dann schon auf die Seite kommen, da die aus der Datei übergebenen Daten auf der Editor.php Seite in eine textarea geschrieben werden sollen, und dann kann ich eben die Daten bearbeiten.
du kommst nicht auf die Seite (im Sinne einer Weiterleitung), sondern die Funktion PostToHost() gibt dir durch die Zeilen
while(!feof($fp)) {
$res .= fgets($fp, 128);
}
respektive
return $res;
alle Daten zurück, die der Server nach dem POST-Request zurücksendet. Das ist eine komplette HTML-Datei incl. aller Header.
Nimm dir einfach mal die Funktion und schreib darunter etwas in der Art:
$result = PostToHost('host', '/pfad_zum_formular', '', 'parameter=wert');
echo $result;
wenn die Datei mit dem Formular also z.B. formular.html heißt und im Document-Root des lokalen Webservers liegt:
$result = PostToHost('localhost', '/formular.html', '', 'textarea_name=test');
echo $result;
oder so ähnlich. Dann solltest du die ganzen Daten, incl. des eigentlichen Formulars, ausgegeben bekommen. Um dann nur die Datei auszugeben, musst du lediglich die Header-Daten wegschneiden.
Gruß,
Andreas.
ok danke!
grüße vom bodensee