<?php 
// Demo using pure JavaScript and my PHP SlideShow class. 
 
require_once('SlideShow.class.php'); 
 
// This is a post via 'fetch()'. The input is to 'php://input' not '$_POST'. 
 
if(json_decode(file_get_contents("php://input"))) { 
  $ss = new SlideShow('url', 'https://bartonlp.org/photos', false); // Images are on my server. 
 
  $names = explode(",", $ss->getImageNames()); // Get a string of images seperated by commas and turn it into an array. 
   
  $images = []; 
   
  foreach($names as $name) { 
    $img = file_get_contents($name); 
    if(empty($img)) error_log("NO IMAGE"); 
     
    $d = base64_encode($img); 
     
    $image = "<img src='data:image/jpeg;base64,$d'>"; 
    $images[] = $image; 
  } 
  echo json_encode($images); 
  exit(); 
} 
 
echo <<<EOF 
<!DOCTYPE html> 
<html> 
<body>    
<button type="submit">Show</button> 
<div id="show"></div> 
<script> 
  let images = []; 
 
  let but = document.querySelector("button"); 
  let show = document.querySelector("#show"); 
   
  but.addEventListener("click", function() { 
    this.style.display = 'none'; 
    show.innerHTML = "<img src='https://bartonphillips.net/images/loading.gif'>"; 
    let test = { page: "start" }; 
 
    fetch("./photos3.php", { 
      body: JSON.stringify(test), 
      method: "POST", 
      headers: { 
        'content-type': 'application/json' // use json to send this 
      } 
    }) 
    .then(trans => { 
      return trans.json(); 
    }) 
    .then(trans => { 
      console.log("trans", trans); 
      let n = 0; 
 
      function show() { 
        if(n > trans.length -1) { 
          n = 0; 
        } 
 
        setTimeout(() => { 
          document.querySelector("#show").innerHTML = trans[n]; 
          document.querySelector("#show img").style.width = "400px"; 
          ++n; 
          show(); 
        }, 1000); 
      } 
 
      show(); 
    }) 
    .catch(trans => { 
      console.log(trans); 
    }); 
  }); 
</script> 
</body> 
</html>       
EOF; 
 
 |