Dateischreibefehler
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
attachment
beispiel
beitrag
datei
disposition
drum
encoding
inhalt
komplette datei
mache
plain
quelltext
startseite
test
-
Hallo, ich habe mir ein script geschrieben, dass einen bestimmten Text in eine "virtuelle" Datei schreiben soll, und sich dann ein Downloadfenster ?ffnen soll, damit diese Datei heruntergeladen werden kann.
aber:
er schreibt nicht das rein was er soll, sondern nur
Den Anfang meiner Homepage:
also wenn ich nun Test test in die Datei schreiben will, dann schreibt er nur Hallo, vi.
Also er schreibt nur so viele Zeichen in die Datei (von meiner Startseite), wie auch Zeichen im Text sind, den er eigentlich schreiben soll.
Nun zum Code:
$download_file = $_POST['spaw1']; //unter $_POST['spaw1'] ist der Text gespeichert, den er eigentlich reinschreiben soll. $filename = $_POST['url']. ".html"; header('Content-Type: text/x-delimtext; name="'.$filename.'"'); header('Content-Disposition: attachment;filename="'.$filename.'"'); header('Content-Transfer-Encoding: plain/text'); header('Content-Length: '.strlen($download_file));
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Schonmal versucht die Datei mit nem Handler zu ?ffnen und dann deinen Text reinschreiben lassen ?
-
sowas in der Art:
$download_file = $_POST['spaw1']; $inhalt = "Hier die File:\n". $download_file; $filename = $_POST['url']. ".html"; $fp = fopen ($filename, "w"); fputs ($fp, $inhalt); fclose($fp);
Du kannst so eine komplette Datei schreiben, inklusive HTML-Header und allem drum und dran.
Beitrag ge?ndert am 15.07.2006 12:21 von waterloo
Beitrag ge?ndert am 15.07.2006 12:21 von waterloo -
nunja, es soll aber eine Virtuelle Datei sein, also man soll einen Text eingeben, auf absenden klicken, dann wird ein Downloadfenster ge?ffnet, um die Datei herunterzuladen.
Also es soll nichts auf den Server geschrieben werden. :) -
so gehts:
if(isset($_GET["download"])) { //header("Content-Type: application/octet-stream"); header("Content-Type: text/plain"); header('Content-Disposition: attachment; filename="download.txt"'); echo($_POST["text"]); }else{ ?> <form method="POST" action="down.php?download=true"> <textarea name="text" style="width:100%; height:95%;"></textarea><br> <input type="submit" value="Senden"> </form> <?php }
-
geht auch nicht.
Dann schreibt er den ganzen Quelltext meiner Homepage rein.
Dann musste halt das script vorher beenden... zum beispiel so:
header('Content-Type: text/plain'); header('Content-Disposition: attachment; filename='download.txt''); die($_POST['text']);
-
hmmm, ok, aber was mache ich, wenn vorher noch text steht. ??
-
Wieso machst du das so kompliziert ? Mach doch einfach eine PHP Datei f?r alle Downloads, welcher du einen Downloadlink ?bergibst. Es wird dann auch nix auf den Server geschrieben. Er geht lediglich hin und zeigt den Link an.
-
hmmm, ok, aber was mache ich, wenn vorher noch text steht. ??
dann setzt du das script halt ganz an den anfang deiner datei, so einfach ist das also z.b.
<?php [...] ?>
<html>
[...]
und nicht:
<html>
<?php [...] ?>
[...]
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage