Allora:
Pagina1
io ho un pannello con 4 tasti (Offline / Online / Pausa / Occupato)
4 tasti. Se premo uno di questi tasti all'operatore compare il suo stato che ha appena scelto.
Mettiamo che scelga "Occupato"

Una procedura PHP

Codice PHP:
<?php
// utente: utente101
if(isset($_POST["esegui1"]))
{
    
$scelta=1;
}        
if(isset(
$_POST["esegui2"]))
{
    
$scelta=2;
}        
if(isset(
$_POST["esegui3"]))
{
    
$scelta=3;
}        
if(isset(
$_POST["esegui4"]))
{
    
$scelta=4;
}        
if(
$scelta==0)
  {
   
$img "https://miosito.com/wp-content/uploads/2019/03/profilo_101_1.png";
   echo 
'<img alt="" src="',$img '">',"\n <br />";
  }    
if(
$scelta==1)
  {
   
$img "https://miosito.com/wp-content/uploads/2019/03/profilo_101_1.png";
   echo 
'<img alt="" src="',$img '">',"\n <br />";
   
$fp fopen('/tmp/utente101.txt''w');
   
fwrite($fp$img);
   
fclose($fp);
  }    
if(
$scelta==2)
  {
   
$img "https://miosito.com/wp-content/uploads/2019/03/profilo_101_2.png";
   echo 
'<img alt="" src="',$img '">',"\n <br />";
   
$fp fopen('/tmp/utente101.txt''w');
   
fwrite($fp$img);
   
fclose($fp);
  }    
if(
$scelta==3)
  {
   
$img "https://miosito.com/wp-content/uploads/2019/03/profilo_101_3.png";
   echo 
'<img alt="" src="',$img '">',"\n <br />";
   
$fp fopen('/tmp/utente101.txt''w');
   
fwrite($fp$img);
   
fclose($fp);
  }    
if(
$scelta==4)
  {
   
$img "https://miosito.com/wp-content/uploads/2019/03/profilo_101_4.png";
   echo 
'<img alt="" src="',$img '">',"\n <br />";
   
$fp fopen('/tmp/utente101.txt''w');
   
fwrite($fp$img);
   
fclose($fp);
  }    



?>
<br>
<form method="POST" action="">
<input type="submit" name="esegui1" value="    Offline   " /> 
</form>
<br>
<form method="POST" action="">
<input type="submit" name="esegui2" value="  In pausa  " /> 
</form>
<br>
<form method="POST" action="">
<input type="submit" name="esegui3" value="    Online   " /> 
</form>
<br>
<form method="POST" action="">
<input type="submit" name="esegui4" value="Occupato" /> 
</form>
salva il file utente101.txt dentro .cagefs/tmp/ che contiene solo la stringa:
https://miosito.com/wp-content/uploa...filo_101_4.png

------

Pagina2
Contiene uno script che entra in azione ogni 30 secondi. Che lancia una funzione PHP che a sua volta lancia uno snippet che carica il dato.

Codice PHP:
<script>
    function on_callPhp()
        {
            var result="<?php php_func();?>";
            // alert(result);
            return false;
        }
    
    var data = new Date();
    data.setTime(<? echo time()*1000?>);
    function orologio()
    {

var sec = data.getSeconds();
        document.getElementById('orologio').innerHTML = sec;
        data.setTime(data.getTime()+1000)
        setTimeout("orologio();",1000);
    if(sec==0)
        {
            // "routine 1 di apertura file in PHP"; 
            document.getElementById('scritta').innerHTML = 'lancio routine 1 di apertura file in PHP';
            on_callPhp();
        }
    if(sec==30)
        {
            // "routine 2 di apertura file in PHP"; 
            document.getElementById('scritta').innerHTML = 'lancio routine 2 di apertura file in PHP';
            on_callPhp();
        }
    }
</script>
<body onload="orologio()">
    <div id="orologio"></div>
    <div id="scritta"></div>
    <?php
        
function php_func()
        {
            echo 
"ciao";
            echo 
do_shortcode('[wbcr_snippet id="532" title="test_chiamata_snippet"]');
        }
    
?>    
    
</body>
Infine lo snippet 532 che viene correttamente richiamato contiene questo:

Codice PHP:
<?php
{
$img101 "";    
$filename "/tmp/utente101.txt";
$handle fopen($filename"r");
$img101 fread($handlefilesize($filename));
fclose($handle);
if(
$img101=="https://miosito.com/wp-content/uploads/2019/03/profilo_101_3.png")
    {
        echo 
"LIBERO e ONLINE";
        echo 
'<a href="tel:348240XXXX"><img alt="" src="',$img101 '"></a>',"\n <br />";
    }
    else
    {
        echo 
"TUTTI GLI ALTRI CASI";
        echo 
'<img alt="" src="',$img101 '"></a>',"\n <br />";
    }
}
?>
Allora stranamente se l'operatore entra la prima volta e il file contiene la stringa:
"https://miosito.com/wp-content/uploads/2019/03/profilo_101_3.png"

Il sito presenta che è Online (correttamente).
Poi l'operatore dal suo pannello si mette come "Occupato" e il file contiene:
"https://miosito.com/wp-content/uploads/2019/03/profilo_101_4.png"

Ma se io ho una pagina aperta lo stato non mi cambia. La procedura funziona e ogni 30 secondi ricevo i messaggi di controllo ma continua a caricarmi la stringa come se il file non fosse stato aggiornato. Se ricarico la pagina mi vede il file ultimo. E' come se separasse le sessioni.

Ultima cosa (ma questo è relativo) lo snippet 532 lanciato da solo mi visualizza l'immagine. Lanciato da funzione PHP non visualizza l'immagine. Ma forse sbaglio io a richiamarla.