Hi Zusammen,
ich hab mir mal irgendwann eine autoTemp Klasse gebastelt. Da hab ich mir gedacht, dass Leute die das PHP-Grundwissen haben so etwas vielleicht benötigen. Unverbindlich.
Der Zweck: Eine Datei kurzzeitig anlegen, um dort ein PHPScript auszuführen oder
anderes.
Der Code:
Alles anzeigen
Die Verwenung:
Ich hoffe das hilft weiter.
ich hab mir mal irgendwann eine autoTemp Klasse gebastelt. Da hab ich mir gedacht, dass Leute die das PHP-Grundwissen haben so etwas vielleicht benötigen. Unverbindlich.
Der Zweck: Eine Datei kurzzeitig anlegen, um dort ein PHPScript auszuführen oder
anderes.
Der Code:
Quellcode
- <?
- class TempFile {
- function create($ext){//Erstellt die Datei
- $tmpDate = date("y")+date("m")+date("w")+date("d")+date("h")+date("i")+date("s")+$_SERVER["REQUEST_TIME"]+microtime(); //Erstellt einen Zufallsnamen
- $filename = "tmp_".$tmpDate.".".$ext; //Erstellt einen Dateinamen
- touch($filename); //Erstellt den die Datei mit dem Dateinamen
- $_POST["glob_tmp"] = $filename; //Gibt den Dateinamen als POST frei. Damit der Dateiname für die anderen Methoden verfügbar ist
- $_POST["tmp_created"] = true; //...
- $_POST["tmp_date"] = $tmpDate; //...
- }
- function write($str,$mode="w"){//Schreibt in die Datei
- if($_POST["tmp_created"]){
- $tmp = fopen($_POST["glob_tmp"],$mode); //Öffnet die Datei mit dem Dateinamen und dem Modus der angegeben wurde
- fwrite($tmp,$str); //Schreibt in die Datei
- fclose($tmp); //Schließt die Datei
- }else{ //Falls die Methode "create" vorher nicht aufgerufen wurde
- #echo "No File Created!";
- # or
- #return "No File Created!";
- # or
- #return false;
- }
- }
- function filename(){ //Gibt den aktuellen Dateinamen zurück
- return $_POST["glob_tmp"];
- }
- function close(){ //Löscht die Datei wieder
- unlink($_POST["glob_tmp"]);
- }
- }
- ?>
Die Verwenung:
Quellcode
- <?
- $tmp_php = '<? echo "Funktioniert!"; ?>';
- $at = new TempFile();
- $at -> create("php"); //Erstellt eine Tempotäre Datei mit der Endung "php" (der "." muss nicht mitgeschrieben werden)<br />
- $at -> write($tmp_php); // Schreibt den Inhalt in die Datei
- include($at -> filename()); //Optional, würde/wird den Inhalt der Datei includieren und somit ausführen
- $at -> close(); //Löscht die Datei
- ?>
Ich hoffe das hilft weiter.