PHP bağlantısını kesmek ya da kendisi tarafından kendi / mevcut dosyayı yeniden

2 Cevap php

Görev: İlk yürüyüş-through sonra bir dosyayı kesin ya da silmek.

i başka bir php dosya oluşturur "index.php" adında bir yükleme dosyası var.

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

after the creation of the new file this file is called and i intent to erase the filecreation call since it is very long and only needed on first install.

i bunun yukarıdaki kodu eklemek

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

Daha kolay bir yolu veya geçerli dosyayı değiştirmek için bir işlev veya ilk aramadan sonra bile "kendini yok" bir dosya var değil mi?

Selamlar

EDIT: Özür Zaf için, düzenlemek için bir yol buldu

unlink(__FILE__);

yürütme sonrasında "yardımcı dosyayı" silmek için kullanılabilir.

2 Cevap

unlink(__FILE__);

i php dosya inuse / süreci değiştirmek için bir yol bulamıyorum beri "yardımcı" dosyası için gerekli görünmektedir.

Çoğu kendi kendine yüklenen PHP siteler ilk set-up yapmak için bir install.php kullanın. Yüklediğinizde doğrulandığında, hepsini temizlemek için her yükleme dosyasını unlink () çağırır hangi removeinstall.php yönlendirmek olacaktır.

Bu removeinstall.php geride bırakmak yok, ancak yükleme kaldırma kodu ile "canlı kodu" herhangi bir kirletici değil yararı vardır.

removeinstall.php sadece unlink ifadeler içerecektir ...

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

Eğer removeinstall.php geride bırakmak istemiyorsanız, örneğin index.php? REMOVEINSTALLATION = 1 veya benzer ... farklı bir dosyaya bir koşullu çağrı olabilir.