php-Datei auf dem Server erstellen?

Erks

Erfahrenes Mitglied
Wie kann ich eine *.php Datei auf meinem Server anlegen?

Ja...ihr meint wahrscheinlich, dass man das selbst schreiben könnte und es dann via FTP hochladen kann. Aber ich mein, eine Datei automatisch erstellen ohne dass du etwas selbst schreibst.

Diese Datei sollte eine automatisch generierte *.php Datei sein, die nicht leer, sondern mit einem Code gefüllt ist. Aber auch nicht mit einem einzigen Wort wie eine eMail Adresse, sondern mit einem vollständigen Code (so wie wenn man die Seite selbst schreibt).

Wie klappt das?:confused:
Könntet Ihr vllt. auch ein Beispiel Script posten (damit lernts sich leichter)?:rolleyes:
 
Mit der fopen()-Funktion im „w“- oder „w+“-Modus kannst du die Datei erstellen und dann mit der fputs()-Funktion mit Inhalt füllen.
 
rischtisch ^^

Hier zum Beispiel mal:

PHP:
$inhalt = $_POST['text'];
$dbfilecreate = $_POST['seite'];

	$fp = fopen($dbfilecreate,"w+");  
	flock($fp, 2);  
	fputs($fp,stripslashes ($inhalt));
	fclose($fp);

Wobei du folgende Variabeln definieren musst:

$dbfilecreate => z.b. mit $_POST['seite'] (also z.b ein Form mit dem Feld seite (beispielinhalt: testseite.php)

$inhalt => könntest du VOR dem 4zeiler definieren... z.B.

$inhalt = "Dies ist einer Fetter Text:<br><b>$fett</b></br>"

wobei Du $fett wieder Definieren musst z.B. mit $_POST['text'].

Im Klartext also:

Du übergibst mit dem Formular den Seitennamen mit dem Textfeld 'seite' und den Inhalt mit dem Textfeld 'text'. Danach wird im Script die INhalte in "normale" Variabeln gelesen, da es sonst unübersichtlich ist... (zumindest für dich zum lernen).

Danach wird eine Datei angelegt mit dem Namen $dbfilecreate ;
mit dem fputs() wird dann der definierte Text geschrieben, und der variable Inhalt durch die $inhalt ergänzt.

Ich hoffe es ist verständlich ^^
 
ja...ich weiß...ich hatte das Thema als erledigt markiert, doch ich hab da noch ne Frage offen...wenn ich die Datei jetzt nicht neu erstellen lasse sondern eine Kopierte nehme, wie kann ich dann innerhalb dieser kopierten Datei die Variabeln (und auch nur die Variabeln!) im Code umändern lassen?

Ich hatte n bisschen rumgebastelt..

PHP:
$dirpastein = fopen("help.php", "w+");
				fputs($fp, $destination01);
				fputs($fp, $destination02);
				fputs($fp, $destination03);
				fputs($fp, $destination04);
				fputs($fp, $destination05);

		fclose($fp);
}

... aber der spuckt mir dann n Fehler aus
Warning: fputs(): supplied argument is not a valid stream resource in /usr/export/www/hosting/testserver/test/help.php on line 235

(mit fwrite() hab ich das auch ausprobiert=selbes Ergebnis)

Wo liegt der Fehler?
 
PHP:
$fp = fopen("help.php", "w+");
                fputs($fp, $destination01);
                fputs($fp, $destination02);
                fputs($fp, $destination03);
                fputs($fp, $destination04);
                fputs($fp, $destination05);

        fclose($fp);
}

[phpf]fputs[/phpf] und [phpf]fclose[/phpf] erwarten natürlich auch den Dateizeiger, den du mit [phpf]fopen[/phpf] geöffnet hast.
 
Die fopen()-Funktion gibt eine Ressource zurück, die du bei den anderen Dateifunktionen als ersten Parameter angeben musst. Nenn $dirpasein also entweder $fp oder umgekehrt.
 
sooo...der macht jetzt fast das was ich will....der bringt auf jeden Fall die erforderlichen Daten rein...allerdings ist das Problem, dass er dies nicht in ein vorgefertigtes Script reinbringt und die erforderlichen Variabeln ersetzt, sondern dies in ein leeres Script reinsetzt.

Wie das? Ich hab die Datei doch kopieren lassen.

Mein copy-Befehl war...

PHP:
$dircopy='hilfe.php';
$dirpaste=$_SESSION['ordnername'];
 copy($dircopy,$dirpaste."/".$dircopy);
 
Zuletzt bearbeitet:
Hmmm, ich sehe noch nicht, dass da irgendwelche Datein "reingebracht" werden. Was Du machst, ist einfach eine Kopie der Datei "hilfe.php". Nicht mehr und nicht weniger.

Wenn Du diese Datei bearbeiten willst, musst Du sie erst öffnen (fopen), dann einlesen (fread?), dann das Eingelesene wie gewünscht bearbeiten/ergänzen, dann schreiben (fwrite), dann schließen (fclose?).

Nachtrag:
Ich habe zur Zeit eine Ähnliche Aufgabe, habe sie aber grundsätzlich anders gelöst: Der PHP code ist fest, die Inhalte kommen aus einer xhtml-Datei. Diese wird eingelesen, um die benötigten Informationen ergänzt, dann ausgegeben.
 
Zuletzt bearbeitet:
Zurück