Domanda

Task:. Tagliare o cancellare un file dopo la prima passeggiata-through

Ho un file di installazione chiamato "index.php", che crea un altro file php.

<? 
/* 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 */

dopo la creazione del nuovo file questo file viene chiamato e ho intenzione di cancellare il chiamata filecreation dal momento che è molto lunga e solo necessario in prima installazione.

i Perciò metti in codice di cui sopra

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);]}

Isnt c'è un modo più semplice o una funzione per modificare il file corrente o anche "auto distruggere" un file dopo la prima chiamata?

Saluti

EDIT: trovato il modo di modificare, spiace ZAF

unlink(__FILE__);

può essere usato per eliminare il "file di aiuto" dopo l'esecuzione.

È stato utile?

Soluzione

unlink(__FILE__);

per il file "aiutante" sembra necessaria in quanto i cant trovare un modo per modificare il file php inuse / processo.

Altri suggerimenti

La maggior parte dei siti PHP autoinstallanti utilizzano un install.php per eseguire il set-up iniziale. Quando l'installazione è verificato, si sarebbe reindirizzare a removeinstall.php che chiamare unlink () su ogni file di installazione per eliminarli tutti fuori.

Questo significa lasciarsi alle spalle le removeinstall.php, ma ha il vantaggio di non inquinare nessuna delle "codice" con il codice di rimozione dell'installazione.

removeinstall.php sarebbe semplicemente avere il contenuto scollegamento ...

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

Se non si vuole lasciare alle spalle il removeinstall.php, si potrebbe avere un richiamo condizionato in un file diverso ... per esempio index.php? Removeinstallation = 1 o simili.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top