[PHP] Datei vor FTP-Upload bearbeiten
-
Hi,
ich möchte zu einer .html-Seite einen Header und einen Footer hinzufügen, bevor sie auf meinen FTP-Server hochgeladen werden soll.Da aber fwrite auf dem Server nicht funktioniert und es im FTP nichts ähnliches gibt habe ich mir folgendes gedacht:
- die Datei normal temporär hochladen
- die Ausgaben eines PHP-Scripts, welches den Quelltext der Seite (inklusive Header und Footer) ausgibt, per ftp_put hochladen
... das bringt nur leider das Problem, dass man bei ftp_put als Source keine Inet-Adressen angeben kann.Habt ihr bessere Ideen?
Danke für eure Hilfe (hoffentlich
)
M.T.
-
Du führst doch früher oder später die html datei eh auf deinem Server aus.
Wieso lädst du den Header dann nicht später dynamisch mit php?
-
Das würde leider nicht funktionieren.
Die Nutzer meiner Seite können .html-Seiten hochladen, welche jeweils den Seiteninhalt beeinhalten und der Server setzt dann um diese Seiten das Gerüst (Menü, ...).
Nur muss die Gerüst-bau-funktion aufgerufen werden -> und das soll in die Dateien eingefügt werden.
Wie z.B.:<?php include_once("frame.php"); BuildFrame(); ?> <html> <!-- .... --> </html>
M.T.
-
Sorry falls ich es falsch verstanden habe aber es müsste doch wie folgt gehen.
# ./ftpupload/userdatei.html <html> <!-- .... --> </html> ################## # useranzeige.php <?php include("header.php"); include("./ftpupload/userdatei.html"); include("footer.php"); ?> ##################
Oder muss ich mir das so vorstellen, wie bei den Freehostern, wo der User
eine Datei hochladen kann und dann vom Hoster eine Werbung eingebaut wird?
-
2oopuls schrieb:
Oder muss ich mir das so vorstellen, wie bei den Freehostern, wo der User
eine Datei hochladen kann und dann vom Hoster eine Werbung eingebaut wird?Das trifft s so zirka. Es soll nicht die hochgeladene Datei extra über ein Script aufgerufen werden, sondern direkt die veränderte Datei.
Beispiel:
User lädt hoch:<html> ... </html>
Server schreibt um:
<?php //do and show something ?> <html> ... </html>
-> und diese Datei soll auch auf dem FTP-Server sein.
An sich würde mir eine Möglichkeit genügen, eine Datei von einer Webadresse auf meinen FTP-Server zu bekommen.
M.T. @ *love_editing_posts*
-
Ok verstehe aber ohne fwrite schaut es dann echt schlecht aus.
Selbst wenn du die Datei vorher mit tmpfile(); bearbeiten würdest
brauchst du fwrite dazu.
-
Und auf dem Rechner lokal vor dem Upload mit der Datei etwas anstellen?
Alle sonstigen Techniken sind ok ... JS, (Java) <- bin darin nicht so bewandertBTW: Ist das mit dem Upload einer Internetseite per FTP wirklich nicht möglich? (z.B. www.test.de/index.html auf den Server zu laden)
M.T.
-
Möglich schon, du kannst mit fopen(); die Internetseite laden, auf
deinem Server zwischenspeichern und im gleichen Zug per FTP auf deinen
FTP-Server laden. Nur hast du da wieder das Problem des zwischenspeicherns,
wozu du ja fwrite brauchst.
-
Ich hab dir hier nochmal ein Beispiel geschrieben, wie du die Datei aus
dem Web lädst und auf dem FTP Server speicherst.<?php $tmpfile = "./tmpfile.ftp"; // Website laden und zwischenspeichern $con1 = fopen("http://www.irgendeinedomain.de/test.html","r"); $con2 = fopen($tmpfile,"w+"); while ($buffer = fgets($con1,2048)) { fwrite($con2,$buffer); } fclose($con2); fclose($con1); // FTP upload starten $con = ftp_connect("www.deinedomain.de"); ftp_login($con,"username","passwort"); ftp_fput ($con, "/ftp-dir/meine.html", $tmpfile, FTP_ASCII); ?>
-
Nur leider kann ich ohne einen eigenen Server mit Admin-Rechten kein fwrite einsetzen (zumindest bei meinem Anbieter). Trotzdem danke für deinen Code.
Weiß einer von euch, ob fwrite bei kostenlosen Accounts (z.B. Tripod) unterstützt wird?
Thx
M.T.
-
Ich war jetzt ne Zeit lang nicht online und hab das Problem auf ne andere Weise gelöst ...
@2oopuls: Wollte mich noch mal für deine Hilfe-Versuche bedanken.
Gruß
M.T.
-
Kein Problem, hat ja auch nicht viel gebracht. Leider