Ciao Grino e grazie per la risposta, è interessante questa soluzione e l'idea che ho è di utilizzare una variabile passata tramite GET come flag, quindi io quando entro in "test.php" o in "test.php?flag=0" eseguo:
codice:
...

if(!isset($_GET['flag']){
   $flag = 0;
}else{
   $flag = $_GET['flag'];
}

if($flag==0){
   $url = $_SERVER['PHP_SELF'] . "?flag=1";
   $sorgente = file_get_contents($url);
}

...
concettualmente mi sembra corretto ma può funzionare? e soprattutto:
questa cosa --> $url = $_SERVER['PHP_SELF'] . "?flag=1";
in teoria quello che dovrebbe restituire è "test.php?flag=1" no?