Frage

. Aufgabe: Ausschneiden oder Löschen einer Datei nach dem ersten Gang durch

Ich habe eine Installationsdatei „index.php“ genannt, die eine andere PHP-Datei erstellt.

<? 
/* here some code*/
$fh = fopen($myFile, 'w') or die("can't open file");
$stringData = "<?php \n
echo 'hallo, *very very long text*'; \n 
?>";
fwrite($fh, $stringData);
/*herecut"/
/*here some code */

nach der Erstellung der neuen Datei wird diese Datei mit dem Namen und i Absicht die löschen filecreation Ruf, da es sehr lange ist und nur zum ersten Mal benötigt bei der Installation.

i dafür add den obigen Code

echo 'hallo, *very very long text*'; \n 
***$new= file_get_contents('index.php'); \n
$findme   = 'habanot';
$pos = strpos($new, $findme);
if ($pos === false) {
$marker='herecut';\n
$new=strstr($new,$marker);\n
$new='<?php \n /*habanot*/\n'.$new;\n
$fh = fopen('index.php', 'w') or die 'cant open file');
$stringData = $new;
fwrite($fh, $stringData);
fclose($fh);***    

?>";
fwrite($fh, $stringData);]}

Nicht ist es ein einfacher Weg oder eine Funktion, um die aktuelle Datei zu ändern oder sogar eine Datei nach dem ersten Aufruf „Selbst zerstören“?

Viele Grüße

EDIT: die Art und Weise zu bearbeiten gefunden, leider ZAF

unlink(__FILE__);

kann verwendet werden, um die „Helfer-Datei“ nach der Ausführung zu löschen.

War es hilfreich?

Lösung

unlink(__FILE__);

für die „Helfer“ Datei erscheint notwendig, da ich einen Weg finden kann nicht die PHP-Datei inuse / Prozess zu ändern.

Andere Tipps

Die meisten selbst installierende PHP-Websites verwenden, um ein install.php der Ersteinrichtung durchzuführen. Wenn die Installation überprüft wird, würden Sie umleiten removeinstall.php die unlink nennen würde () auf jeder Installationsdatei, sie alle zu löschen.

Das tut Urlaub hinter dem removeinstall.php, hat aber den Vorteil, nicht von dem „Live-Code“ mit der Installation Entferncode verschmutzt.

removeinstall.php würde einfach die unlink Aussagen enthalten, ...

if (file_exists('install.php')) {
    unlink('install.php');
}

Wenn Sie nicht hinter dem removeinstall.php verlassen wollen, können Sie einen bedingten Aufruf in einer anderen Datei ... zB index.php? Removeinstallation = 1 oder ähnliches.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top