Mit PHP eine neue .php-Datei erstellen und bearbeiten
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
anliegen
aufruf
auslese
beginnen
bild
code
datei
datenbank
definierter code
eintragen
erstellen
fehlerfall
file
inhalt
laden
pfad
starthilfe
system
text
textdatei
-
Guten Abend,
Ich als ziemlicher Anfänger in PHP möchte folgendes Project realisieren:
Der PHP-Skript soll damit beginnen, eine neue .php-Datei zu erstellen, mit einem Variablen Namen aus ein paar Zeichen,
dann soll er folgendes Eintragen:
[Zuvor Definierter Code]
Text, der aus einer Textbox geladen wird (bsp: $inhalt)
[Zuvor Definierter Code]
Also, z.b. so:
<?php //Seite mit zufälligem Namen erstellen (1f5e4f6.php) //Quellcode öffnen, "<html><head><title>...Etc" eintragen //$inhalt eintragen // "</body></html>...Etc" eintragen //Datei speichern und schließen //Den Link ausgeben, auf dem die neu geniererte Seite gespeichert ist (bsp: echo 'Du findest deine Seite unter <a href=http://domain.tld/seiten/'$seitenname'>http://domain.tld/seiten'$seitenname'</a>!')
Bräuchte Starthilfe, vlt auch ein sehr gutes und Leicht zu verstehendes Tutorial -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Ich würde das System das du geplant hast noch einmal überdenken.
Da die zu erstellenden PHP-Seiten immer gleich sind (bis auf den Inhalt), reicht es doch, wenn du die Datei einmal erstellst und den Inhalt zB aus einer Textdatei oder Datenbank lädst. Beim aufruf übergibst du dann einfach eine ID (bzw den Namen der Textdatei).
Kleines Beispiel (ungetestet):
<?php $id = $_GET['id']; $inhalt = file_get_contents('pfad/zur/textdatei/'.$id.'.txt'); //oder aus der Datenbank laden; je nach Vorliebe echo '<html><head>.....</head><body>'; echo $inhalt; echo '</body></html>'; ?>
Aufgerufen wird das ganze dann einfach mit script.php?id=1f5e4f6
mfg
-
Also
$id = $_GET['id']; $inhalt = file_get_contents('pfad/zur/textdatei/'.$id.'.txt');
soltest du nun wirklich nicht verwenden. Man könnte einfach beliebig ".." im Pfad hinzufügen und wäre in einem anderen Verzeichnis.
Das wäre wohl sicherer:
$id = $_GET['id']; if(strpos($id, "..") !== false) exit; $inhalt = file_get_contents('pfad/zur/textdatei/'.$id.'.txt');
Ich verstehe nur noch nicht ganz was der TS den damit will.
Soll $inhalt ein User in einer Textbox eingeben und php dann einfach ein .php-File mit dem Inhalt der Usereingabe schreiben?
Wenn ja: Also noch unsicherer gehts ja wohl gar nicht mehr.
Das wäre das gleiche als würdes du Jedem einfach php-File auf deinen Server/Webspace laden lassen...
Beitrag zuletzt geändert: 8.12.2011 1:10:36 von philippkern -
Also wie meine Vorposter bereits erwähnt haben ist das was du da vorhast nicht gerade sicher. Man könnte somit im Prinzip Abfragen ausführen und so dein System aufbohren bis ins letzte Eck. Außerdem ist es nie empfehlenswert einer Programmiersprache ein Script erstellen zu lassen welches wiederum ausgeführt werden soll, da hier natürlich im Fehlerfall auch ziemliche Schäden angerichtet werden könnten.
Wenn du uns dein anliegen mal detailliert mitteilen könntest finden wird bestimmt einen Weg das zu lösen. Aber deine jetzige Umsetzung ist auf keinen Fall empfehlenswert.
Gruß S.Brosch -
Der Code, der Eingetragen wird, wird auch definiert, (Man klickt auf ein Bild, und daraufhin wird das Bild auf der Seite mit einen href-link auf die Seite des Bildes weitergeleitet).
Ich habe vor, ein "Startseitenerstellungsscript" zu machen, auf dem man sich mit wenigen klicks eine Startseite selbst erstellen kann.
(Man klickt im Generator die Shortcuts der Seiten, die auf der Startseite verlinkt werden sollen an, und diese werden mithilfe einer Textbox eingetragen).
-
Egal was du machst: solange der Text der in deine Seite eingefügt wird über $_GET (oder ähnliches: $_POST, $_REQUEST) übergeben wird lässt sich beliebiger Code in deine Seite einfügen. Schließlich kann jeder im Browser den Link in deinem HREF auslesen und beliebig verändern.
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage