Salve a tutti, ho creato il seguente script per cancellare dei messaggi indesiderati in un guestbook tramite apposito pannello:
Codice PHP:
include("messages.txt");
$righe = file("messages.txt");
$identificatore = $righe[1];
$contatore = count($righe);
$jk = $qt_delete; //VARIABILE PASSATA CON METODO GET
while ($contatore >= 0):
$identificatore_cancella = substr($righe[$contatore], -31, 25);
$fine_msg = "CANCELLA=".$jk;
if ($fine_msg == $identificatore_cancella){
$cancella = $contatore;
while($righe[$cancella] != $identificatore):
unset($righe[$cancella]);
$cancella--;
endwhile;
unset($righe[$cancella]);
unset($righe[$cancella-1]);
$righe = implode("",$righe);
$h=fopen('messages.txt','w');
fwrite($h,$righe);
fclose($h);
}
$contatore--;
endwhile;
Lo script funziona benissimo su di un sito con host win, quando invece ho dovuto utilizzarlo per un sito collocato su un server linux stranamente, per me ovvio, non funge!!
Il problema secondo me sta nel fatto che lo script non riesce a riconoscere gli identificatori testuali che ogni messaggio possiede all'inizio ed alla fine nel file messages.txt, e questo ovviamente preclude i due cicli "while" alla base di tutto.
Sono tre giorni che ci sbatto la testa senza venirne a capo, a me piace tantissimo cimentarmi con il php, ma in questo caso penso che il problema vada aldilà delle mie conoscenze, quindi se neanche in questo forum troverò la soluzione o l'intuizione giusta per risolvere il dilemma penso che cercherò con dispiacere qualcosa di già pronto....
Ringrazio in anticipo chiunque mi aiuterà anche con semplici suggerimenti.